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)。