I find my answer still stands. If it's someone you know, and you know the situation they're in, absolutely it would be okay if my sister just walked in and started screaming at me. If I knew she was stressed out and she walked in and took her anger out on me, I wouldn't have a problem with it. Water off my back.
But if she was like that all the time, yeah, I'd put a cork in her. If she was like that every time she went to a baby shower, I'd tell her to stop going to baby shower or to stop talking to me after them. The situations present themselves differently, and so my response is different. I'm not going to tolerate someone being rude all the time and grating on my nerves, or a stranger coming up and starting shit... but an occasional outburst from someone is absolutely acceptable. People say things they don't mean, do things they regret.. so I'm generally fine with that.
You have to be emotionally honest with yourself too. If they're like that all the time--chances are it isn't because of you. If they're like that after certain triggers, it's safe to say they aren't personally mad at you. Just because someone is being rude doesn't mean you have every right in the world to just take everything said personal. It's important to evaluate what's meant to be personal jabs and what is not. Usually in this situation, it is never personal.
If I got truly upset and took personal each time someone did something they later on didn't mean at all and apologized for I'd have no friends or loved ones. If I didn't take into consideration my sister always gets bitchy when she's working 60+ hours a week with kids at home, I'd probably never talk to her. Sometimes it's just life and it's normal. What you're talking about seems like a particular situation, in which case I refer to my original thought. It just depends.