11. IANA Considerations (IANA考慮事項)
本仕様は、HTTP/2プロトコルのためのいくつかのレジストリを確立します。本セクションでは、これらのレジストリとそれらに関連する登録ポリシーについて説明します。
11.1. Registration of HTTP/2 Identification Strings (HTTP/2識別文字列の登録)
この文書は、HTTP/2の識別のための2つの登録を作成します:文字列「h2」と「h2c」です。
「h2」文字列は、セクション3.3で説明されているように、TLS上で使用される場合のHTTP/2を識別します。
「h2c」文字列は、セクション3.2で説明されているように、クリアテキストTCP上で使用される場合のHTTP/2を識別します。
これらの識別文字列は、「アプリケーション層プロトコルネゴシエーション(ALPN)プロトコルID」レジストリ([TLS-ALPN]によって確立)に登録されています。
11.2. Frame Type Registry (フレームタイプレジストリ)
この文書は、HTTP/2フレームタイプコードのためのレジストリを確立します。「HTTP/2 Frame Type」レジストリは8ビット空間を管理します。「HTTP/2 Frame Type」レジストリは、「Expert Review」ポリシー[RFC8126]の下で運営され、予約値が残されています。
新しいエントリの登録には、以下の情報が必要です:
- Frame Type(フレームタイプ): フレームタイプの名前またはラベル。
- Code(コード): フレームタイプに割り当てられた8ビットコード。
- Specification(仕様): フレームタイプの説明を含む仕様への参照。
この文書によって登録されたエントリは、表1にあります。
Table 1: Frame Types (フレームタイプ)
| Frame Type | Code | Section | Reference |
|---|---|---|---|
| DATA | 0x00 | セクション6.1 | RFC 9113 |
| HEADERS | 0x01 | セクション6.2 | RFC 9113 |
| PRIORITY | 0x02 | セクション6.3 | RFC 9113 |
| RST_STREAM | 0x03 | セクション6.4 | RFC 9113 |
| SETTINGS | 0x04 | セクション6.5 | RFC 9113 |
| PUSH_PROMISE | 0x05 | セクション6.6 | RFC 9113 |
| PING | 0x06 | セクション6.7 | RFC 9113 |
| GOAWAY | 0x07 | セクション6.8 | RFC 9113 |
| WINDOW_UPDATE | 0x08 | セクション6.9 | RFC 9113 |
| CONTINUATION | 0x09 | セクション6.10 | RFC 9113 |
11.3. Settings Registry (設定レジストリ)
この文書は、HTTP/2設定のためのレジストリを確立します。「HTTP/2 Settings」レジストリは16ビット空間を管理します。「HTTP/2 Settings」レジストリは、「Expert Review」ポリシー[RFC8126]の下で運営され、予約値が残されています。
新しいエントリの登録には、以下の情報が必要です:
- Name(名前): 設定のシンボリック名。設定名の指定はオプションです。
- Code(コード): 設定に割り当てられた16ビットコード。
- Initial Value(初期値): 設定の初期値。
- Specification(仕様): 設定の説明を含む仕様へのオプションの参照。
この文書によって登録されたエントリは、表2にあります。
Table 2: Settings (設定)
| Name | Code | Initial Value | Section | Reference |
|---|---|---|---|---|
| SETTINGS_HEADER_TABLE_SIZE | 0x01 | 4096 | セクション6.5.2 | RFC 9113 |
| SETTINGS_ENABLE_PUSH | 0x02 | 1 | セクション6.5.2 | RFC 9113 |
| SETTINGS_MAX_CONCURRENT_STREAMS | 0x03 | (infinite) | セクション6.5.2 | RFC 9113 |
| SETTINGS_INITIAL_WINDOW_SIZE | 0x04 | 65535 | セクション6.5.2 | RFC 9113 |
| SETTINGS_MAX_FRAME_SIZE | 0x05 | 16384 | セクション6.5.2 | RFC 9113 |
| SETTINGS_MAX_HEADER_LIST_SIZE | 0x06 | (infinite) | セクション6.5.2 | RFC 9113 |
11.4. Error Code Registry (エラーコードレジストリ)
この文書は、HTTP/2エラーコードのためのレジストリを確立します。「HTTP/2 Error Code」レジストリは32ビット空間を管理します。「HTTP/2 Error Code」レジストリは、「Expert Review」ポリシー[RFC8126]の下で運営され、予約値が残されています。
新しいエントリの登録には、以下の情報が必要です:
- Name(名前): エラーコードの名前。エラーコード名の指定はオプションです。
- Code(コード): 割り当てられた32ビットエラーコード。
- Description(説明): エラー条件の簡潔な説明。
- Specification(仕様): エラーコードを定義する仕様へのオプションの参照。
この文書によって登録されたエントリは、表3にあります。
Table 3: Error Codes (エラーコード)
| Name | Code | Description | Section | Reference |
|---|---|---|---|---|
| NO_ERROR | 0x00 | Graceful shutdown | セクション7 | RFC 9113 |
| PROTOCOL_ERROR | 0x01 | Protocol error detected | セクション7 | RFC 9113 |
| INTERNAL_ERROR | 0x02 | Implementation fault | セクション7 | RFC 9113 |
| FLOW_CONTROL_ERROR | 0x03 | Flow control limits exceeded | セクション7 | RFC 9113 |
| SETTINGS_TIMEOUT | 0x04 | Settings not acknowledged | セクション7 | RFC 9113 |
| STREAM_CLOSED | 0x05 | Frame received for closed stream | セクション7 | RFC 9113 |
| FRAME_SIZE_ERROR | 0x06 | Frame size incorrect | セクション7 | RFC 9113 |
| REFUSED_STREAM | 0x07 | Stream not processed | セクション7 | RFC 9113 |
| CANCEL | 0x08 | Stream cancelled | セクション7 | RFC 9113 |
| COMPRESSION_ERROR | 0x09 | Compression state not updated | セクション7 | RFC 9113 |
| CONNECT_ERROR | 0x0a | TCP connection error for CONNECT method | セクション7 | RFC 9113 |
| ENHANCE_YOUR_CALM | 0x0b | Processing capacity exceeded | セクション7 | RFC 9113 |
| INADEQUATE_SECURITY | 0x0c | Negotiated TLS parameters not acceptable | セクション7 | RFC 9113 |
| HTTP_1_1_REQUIRED | 0x0d | Use HTTP/1.1 for the request | セクション7 | RFC 9113 |
11.5. HTTP2-Settings Header Field Registration (HTTP2-Settingsヘッダーフィールド登録)
このセクションは、「ハイパーテキスト転送プロトコル(HTTP)フィールド名レジストリ」[HTTP]にHTTP2-Settingsヘッダーフィールドを登録します。
- Header field name(ヘッダーフィールド名): HTTP2-Settings
- Applicable protocol(適用可能なプロトコル): http
- Status(ステータス): standard
- Author/Change controller(著者/変更コントローラ): IETF
- Specification document(s)(仕様文書): RFC 9113のセクション3.2.1
11.6. PRI Method Registration (PRIメソッド登録)
このセクションは、「HTTPメソッドレジストリ」[HTTP]にPRIメソッドを登録します。
- Method Name(メソッド名): PRI
- Safe(安全): No
- Idempotent(べき等): No
- Specification document(s)(仕様文書): RFC 9113のセクション3.4
11.7. The 421 (Misdirected Request) HTTP Status Code (421ステータスコード)
このセクションは、「HTTPステータスコード」レジストリ[HTTP]に421 (Misdirected Request) HTTPステータスコードを登録します。
- Status Code(ステータスコード): 421
- Short Description(短い説明): Misdirected Request
- Specification document(s)(仕様文書): RFC 9113のセクション9.1.2
11.8. The h2c Upgrade Token (h2cアップグレードトークン)
このセクションは、「HTTPアップグレードトークンレジストリ」[HTTP]に「h2c」アップグレードトークンを登録します。
- Name(名前): h2c
- Description(説明): Hypertext Transfer Protocol version 2 (HTTP/2)
- Expected Version Tokens(予想されるバージョントークン): None
- References(参照): RFC 9113のセクション3.2
第11章完了!
References
- [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, June 2017.
- [HTTP] Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, Ed., "HTTP Semantics", STD 97, RFC 9110, June 2022.
- [TLS-ALPN] Friedl, S., Popov, A., Langley, A., and E. Stephan, "Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension", RFC 7301, July 2014.