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

9. 追加のHTTP要件 (Additional HTTP Requirements)

9.1 接続管理 (Connection Management)

HTTP/2接続は永続的です。クライアントは、特定のホストとポートのペアに対して複数のHTTP/2接続を開くべきではありません (SHOULD NOT)。

9.1.1 接続の再利用 (Connection Reuse)

オリジンサーバーへの確立された接続は、特定の条件下で複数のオリジンに対して再利用できます。

9.1.2 421 (Misdirected Request) ステータスコード

421ステータスコードは、リクエストがレスポンスを生成できないサーバーに向けられたことを示します。

9.2 TLS機能の使用 (Use of TLS Features)

実装は、TLS上のHTTP/2に対してTLS 1.2 [TLS12]以上をサポートしなければなりません (MUST)。

9.2.1 TLS 1.2機能

TLS 1.2をサポートしなければなりません (MUST)。実装は圧縮を無効にし、サーバー名表示 (Server Name Indication, SNI) をサポートしなければなりません (MUST)。

9.2.2 TLS 1.2暗号スイート

HTTP/2の展開は、P-256楕円曲線を使用したTLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256をサポートしなければなりません (MUST)。

HTTPヘッダーフィールド

HTTP/2は、':'文字で始まる特別な疑似ヘッダーフィールド (Pseudo-header Fields) を使用します:

  • :method - HTTPメソッド
  • :scheme - ターゲットURIのスキーム部分
  • :authority - ターゲットURIの権限部分
  • :path - パスとクエリ部分
  • :status - HTTPステータスコード (レスポンスのみ)

リクエスト疑似ヘッダーフィールド

すべてのHTTP/2リクエストは、:method:scheme、および:path疑似ヘッダーフィールドの有効な値を正確に1つ含まなければなりません (MUST)。

レスポンス疑似ヘッダーフィールド

HTTP/2レスポンスの場合、単一の:status疑似ヘッダーフィールドが必須です (MUST)。

接続固有のヘッダーフィールド

HTTP/2は、Connectionヘッダーフィールドを使用しません。接続固有のヘッダーフィールド (Keep-Alive、Proxy-Connection、Transfer-Encoding、Upgradeなど) を含めてはなりません (MUST NOT)。