メインコンテンツまでスキップ

6. フレーム定義 (Frame Definitions)

このセクションでは、HTTP/2で使用されるすべてのフレームタイプを定義します。

フレームタイプ

フレームタイプコード説明
DATA0x0任意の可変長オクテットシーケンスを伝送
HEADERS0x1ストリームを開き、ヘッダーブロックフラグメントを運ぶ
PRIORITY0x2ストリームの送信者推奨優先度を指定
RST_STREAM0x3ストリームを即座に終了
SETTINGS0x4構成パラメータを伝送
PUSH_PROMISE0x5ストリームを開始する意図をピアに通知
PING0x6ラウンドトリップ時間を測定するメカニズム
GOAWAY0x7接続のシャットダウンを開始
WINDOW_UPDATE0x8フロー制御を実装
CONTINUATION0x9ヘッダーブロックフラグメントのシーケンスを継続

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フレームは、ヘッダーブロックフラグメントのシーケンスを継続するために使用されます。