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

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 TypeCodeSectionReference
DATA0x00Section 6.1RFC 9113
HEADERS0x01Section 6.2RFC 9113
PRIORITY0x02Section 6.3RFC 9113
RST_STREAM0x03Section 6.4RFC 9113
SETTINGS0x04Section 6.5RFC 9113
PUSH_PROMISE0x05Section 6.6RFC 9113
PING0x06Section 6.7RFC 9113
GOAWAY0x07Section 6.8RFC 9113
WINDOW_UPDATE0x08Section 6.9RFC 9113
CONTINUATION0x09Section 6.10RFC 9113

11.3. 設定レジストリ

このドキュメントは、HTTP/2設定のレジストリを確立します。"HTTP/2 Settings"レジストリは、16ビット空間を管理します。"HTTP/2 Settings"レジストリは、予約値を持つ"Expert Review"ポリシー[RFC8126]の下で動作します。

新しいエントリの登録には、以下の情報が必要です:

  • Name: 設定のシンボリック名。設定名の指定はオプションです。
  • Code: 設定に割り当てられた16ビットコード。
  • Initial Value: 設定の初期値。
  • Specification: 設定の説明を含む仕様へのオプションの参照。

このドキュメントによって登録されたエントリは、表2にあります。

表2: 設定

NameCodeInitial ValueSectionReference
SETTINGS_HEADER_TABLE_SIZE0x014096Section 6.5.2RFC 9113
SETTINGS_ENABLE_PUSH0x021Section 6.5.2RFC 9113
SETTINGS_MAX_CONCURRENT_STREAMS0x03(infinite)Section 6.5.2RFC 9113
SETTINGS_INITIAL_WINDOW_SIZE0x0465535Section 6.5.2RFC 9113
SETTINGS_MAX_FRAME_SIZE0x0516384Section 6.5.2RFC 9113
SETTINGS_MAX_HEADER_LIST_SIZE0x06(infinite)Section 6.5.2RFC 9113

11.4. エラーコードレジストリ

このドキュメントは、HTTP/2エラーコードのレジストリを確立します。"HTTP/2 Error Code"レジストリは、32ビット空間を管理します。"HTTP/2 Error Code"レジストリは、予約値を持つ"Expert Review"ポリシー[RFC8126]の下で動作します。

新しいエントリの登録には、以下の情報が必要です:

  • Name: エラーコードの名前。エラーコード名の指定はオプションです。
  • Code: 割り当てられた32ビットエラーコード。
  • Description: エラー条件の簡単な説明。
  • Specification: エラーコードを定義する仕様へのオプションの参照。

このドキュメントによって登録されたエントリは、表3にあります。

表3: エラーコード

NameCodeDescriptionSectionReference
NO_ERROR0x00Graceful shutdownSection 7RFC 9113
PROTOCOL_ERROR0x01Protocol error detectedSection 7RFC 9113
INTERNAL_ERROR0x02Implementation faultSection 7RFC 9113
FLOW_CONTROL_ERROR0x03Flow control limits exceededSection 7RFC 9113
SETTINGS_TIMEOUT0x04Settings not acknowledgedSection 7RFC 9113
STREAM_CLOSED0x05Frame received for closed streamSection 7RFC 9113
FRAME_SIZE_ERROR0x06Frame size incorrectSection 7RFC 9113
REFUSED_STREAM0x07Stream not processedSection 7RFC 9113
CANCEL0x08Stream cancelledSection 7RFC 9113
COMPRESSION_ERROR0x09Compression state not updatedSection 7RFC 9113
CONNECT_ERROR0x0aTCP connection error for CONNECT methodSection 7RFC 9113
ENHANCE_YOUR_CALM0x0bProcessing capacity exceededSection 7RFC 9113
INADEQUATE_SECURITY0x0cNegotiated TLS parameters not acceptableSection 7RFC 9113
HTTP_1_1_REQUIRED0x0dUse HTTP/1.1 for the requestSection 7RFC 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月.