は、ガイドが...非常に簡単で理解しやすいですWebSocketsがマスクされているのはなぜですか?
しかし、私は、クライアントからのメッセージをWebSocketの枠を越え走っこのチュートリアルを以下の時に送信されます。
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-------+-+-------------+-------------------------------+
|F|R|R|R| opcode|M| Payload len | Extended payload length |
|I|S|S|S| (4) |A| (7) | (16/64) |
|N|V|V|V| |S| | (if payload len==126/127) |
| |1|2|3| |K| | |
+-+-+-+-+-------+-+-------------+ - - - - - - - - - - - - - - - +
| Extended payload length continued, if payload len == 127 |
+ - - - - - - - - - - - - - - - +-------------------------------+
| |Masking-key, if MASK set to 1 |
+-------------------------------+-------------------------------+
| Masking-key (continued) | Payload Data |
+-------------------------------- - - - - - - - - - - - - - - - +
: Payload Data continued ... :
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
| Payload Data continued ... |
+---------------------------------------------------------------+
正しくデータとクライアントから送信されたフレームのマスクを解除するためにいくつかの機能を行った後、それはデータがさえで始まるようにマスクされている理由を私は不思議ました。つまり、サーバーから送信しているデータをマスクする必要はありません。
悪意のある理由で誰かがデータを取得していた場合、マスキングキーが含まれているため、マスクを解除するのは比較的簡単ですメッセージ全体あるいは、キーを持っていなかったとしても、フレームのマスキングキーは2バイトしかありません。キーが非常に小さいので誰かが簡単にデータのマスクを解除することができます。
なぜデータがマスクされているのか疑問に思うもう一つの理由は、TLS/SSL上でWSS(WebSockets Secure)を使用し、HTTPSを使用して、WebSocketデータをマスキングよりも簡単に保護できるからです。
なぜWebSocketsがマスクされているのか分かりませんか?最初にセキュリティを追加しないときに、クライアントから送信されたデータをアンマスクする無意味な闘争が追加されたようです。暗号化されていないのWebSocket接続をマスキングする必要が要件だけではなく、有益であることを示しているように
ここでの部分的な答え:[webSocketフレームのマスクとは何か](http://stackoverflow.com/questions/14174184/what-is-the-mask-in-a-websocket-frame)と[マスキングwebSocketクライアントから送信する場合には本当に必要です。](http://programmers.stackexchange.com/questions/226343/is-masking-really-necessary-when-sending-from-websocket-client)および[WebSocketフレームがキャッシュからどのように保護するか中毒](http://security.stackexchange.com/questions/36930/how-does-websocket-frame-masking-protect-against-cache-poisoning)。 – jfriend00
@ jfriend00、それは標準がそれを定義する理由についていくつかの洞察を提供します。しかし、私の主張では、クライアントがなぜそれが必要なのかまだ分かりません。 –
また、[WebSockets - なぜクライアントからサーバーにデータをマスクする必要がありますか?](http://www.lenholgate.com/blog/2011/07/websockets---why-do-we-need-to-mask -data-from-client-to-server.html) – jfriend00