2016-03-18 6 views
1

ペイロード長記述するときのWebSocket RFCは、[データフレーム区間(https://tools.ietf.org/html/rfc6455#section-5.2)で次のように述べている:127場合のWebSocket - ペイロード長

を、64ビットの符号なし整数として解釈され、次の8つのバイト(最上位ビットは0でなければなりません)は、ペイロードの長さです。

私は2つの質問があります。

  1. はなぜmost significant bit must be 0特別な理由はありますか?
  2. これは、1つのフレームの最大サイズを9223372036854775807バイトにしますか?

答えて

0
  1. MSBは、MASKビットを保持しています。このビットがセットされている場合、ペイロードは次のマスクキーでマスクされます。長さフィールドはわずか7ビットです。
  2. 最大フレームサイズが正しい
+0

私はあなたが何か誤解していると思います。 MASKビットは長さフィールドの前にあり、長さフィールドは7,7 + 16、または7 + 64ビット長のいずれかです。私はまた、なぜ64ビット(7 + 64ビットの場合)のMSBがゼロでなければならないのだろうかと思っています。多分将来の拡張のために?それでも、2 ** 63-1バイトが残っています。これは、単一フレームの最大ペイロード長の8388607 PiBです。 – Patrik

関連する問題