6. フレーム定義 (Frame Definitions)
このセクションでは、HTTP/2で使用されるすべてのフレームタイプを定義します。
フレームタイプ
| フレームタイプ | コード | 説明 |
|---|---|---|
| DATA | 0x0 | 任意の可変長オクテットシーケンスを伝送 |
| HEADERS | 0x1 | ストリームを開き、ヘッダーブロックフラグメントを運ぶ |
| PRIORITY | 0x2 | ストリームの送信者推奨優先度を指定 |
| RST_STREAM | 0x3 | ストリームを即座に終了 |
| SETTINGS | 0x4 | 構成パラメータを伝送 |
| PUSH_PROMISE | 0x5 | ストリームを開始する意図をピアに通知 |
| PING | 0x6 | ラウンドトリップ時間を測定するメカニズム |
| GOAWAY | 0x7 | 接続のシャットダウンを開始 |
| WINDOW_UPDATE | 0x8 | フロー制御を実装 |
| CONTINUATION | 0x9 | ヘッダーブロックフラグメントのシーケンスを継続 |
6.1 DATA
DATAフレームは、ストリームに関連付けられた任意の可変長オクテットシーケンスを伝送します。
6.2 HEADERS
HEADERSフレームは、ストリームを開き、ヘッダーブロックフラグメント (Header Block Fragment) を運ぶために使用されます。
6.3 PRIORITY
PRIORITYフレームは、ストリームの送信者推奨優先度 (Sender-advised Priority) を指定します。
6.4 RST_STREAM
RST_STREAMフレームは、ストリームの即座の終了を可能にします。
6.5 SETTINGS
SETTINGSフレームは、エンドポイントが通信する方法に影響を与える構成パラメータ (Configuration Parameters) を伝送します。
設定パラメータ:
- SETTINGS_HEADER_TABLE_SIZE (0x1)
- SETTINGS_ENABLE_PUSH (0x2)
- SETTINGS_MAX_CONCURRENT_STREAMS (0x3)
- SETTINGS_INITIAL_WINDOW_SIZE (0x4)
- SETTINGS_MAX_FRAME_SIZE (0x5)
- SETTINGS_MAX_HEADER_LIST_SIZE (0x6)
6.6 PUSH_PROMISE
PUSH_PROMISEフレームは、送信者がストリームを開始する意図をピアに通知するために使用されます。
6.7 PING
PINGフレームは、送信者から最小ラウンドトリップ時間 (Round-trip Time) を測定するためのメカニズムです。
6.8 GOAWAY
GOAWAYフレームは、接続のシャットダウン (Shutdown) を開始するため、または重大なエラー状態を通知するために使用されます。
6.9 WINDOW_UPDATE
WINDOW_UPDATEフレームは、フロー制御 (Flow Control) を実装するために使用されます。
6.10 CONTINUATION
CONTINUATIONフレームは、ヘッダーブロックフラグメントのシーケンスを継続するために使用されます。