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