CONTINUATION

CONTINUATION フレーム (HTTP)

目次

  1. 仕様書
  2. 意味
  3. 構文
  4. 文脈
  5. 処理

仕様書#

意味#

[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

01234567
00END_HEADERS00000

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

012345678910111213141516171819202122232425262728293031
ヘッダーブロック素片

文脈#

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

処理#

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

[12] END_HEADERS フラグが設定されていない HEADERSPUSH_PROMISECONTINUATION フレームの後でなければ、 接続エラー 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>