I've been studying the Websocket protocol (RFC 6455RFC 6455). Section 10.310.3 specifically talks about frame masking, which is prevents cache poisoning from http proxy servers.
How does frame masking prevent cache poisoning? How is a proxies cache "poisoned"? Why is the masking only applied to messages from the client to the server and not also the other way around?
Can this attack also be applied to long polling methods as well (specifically XHR)?