CONTINUATION

CONTINUATION フレーム (HTTP)

仕様書

意味

[2] CONTINUATION フレーム (フレーム型 0x9) は、続きの header block fragment を送るために使います >>1。

構文

[10] ストリームと関連付けなければなりません >>1。 ストリーム識別子は 0x0 にはできません。

[5] 次のフラグがあります。

[6] END_HEADERS (0x4 = 第2ビット)
設定されていれば、 header block の終わりであることを表します >>1。 [7] END_HEADERS が設定されていなければ、 CONTINUATION フレームが次に来なければなりません >>1。

[14] 他のフラグは、0 でなければなりません。 受信者は、無視しなければなりません。 >>13

width
8
  1. 1 0
  2. 1 0
  3. 1 END_HEADERS
  4. 1 0
  5. 1 0
  6. 1 0
  7. 1 0
  8. 1 0

[4] payload は、ヘッダーブロック素片 (Header Block Fragment) です >>1。 先頭ではないヘッダーブロック素片を表します。

width
32
  1. 32... ヘッダーブロック素片

文脈

[3] CONTINUATION フレームは、 END_HEADERS フラグが設定されていない HEADERS、 PUSH_PROMISE、 CONTINUATION フレームの後に何個でも送信できます。 前にこれらのフレームがなければなりません。 >>1

処理

[81] 受信者は、payload が短すぎるか、設定 SETTINGS_MAX_FRAME_SIZE より長いなら、接続エラー FRAME_SIZE_ERROR としなければなりません >>82。

[12] END_HEADERS フラグが設定されていない HEADERS、 PUSH_PROMISE、 CONTINUATION フレームの後でなければ、 接続エラー PROTOCOL_ERROR としなければなりません >>1。

[11] 受信者は、ストリーム識別子が 0x0 なら、 接続エラー PROTOCOL_ERROR としなければなりません >>1。

[9] ストリームの状態遷移の項、ヘッダーリストの項も参照。

[8] 受信者は、 END_HEADERS フレームが設定されていない場合、 次が CONTINUATION 以外のフレームだったり、 違うストリームだったりした場合、接続エラー PROTOCOL_ERROR としなければなりません >>1。

[15] ContinuationProposals · http2/http2-spec Wiki ( 版) <https://github.com/http2/http2-spec/wiki/ContinuationProposals>