Skip to main content

11. IANA Considerations

This specification establishes several registries for the HTTP/2 protocol. This section describes these registries and their associated registration policies.

11.1. Registration of HTTP/2 Identification Strings

This document creates two registrations for the identification of HTTP/2: the strings "h2" and "h2c".

The "h2" string identifies HTTP/2 when used over TLS, as described in Section 3.3.

The "h2c" string identifies HTTP/2 when used over cleartext TCP, as described in Section 3.2.

These identification strings are registered in the "Application-Layer Protocol Negotiation (ALPN) Protocol IDs" registry (established by [TLS-ALPN]).

11.2. Frame Type Registry

This document establishes a registry for HTTP/2 frame type codes. The "HTTP/2 Frame Type" registry manages an 8-bit space. The "HTTP/2 Frame Type" registry operates under the "Expert Review" policy [RFC8126], with reserved values.

Registrations for new entries require the following information:

  • Frame Type: A name or label for the frame type.
  • Code: The 8-bit code assigned to the frame type.
  • Specification: A reference to a specification that includes a description of the frame type.

Entries registered by this document can be found in Table 1.

Table 1: Frame Types

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. Settings Registry

This document establishes a registry for HTTP/2 settings. The "HTTP/2 Settings" registry manages a 16-bit space. The "HTTP/2 Settings" registry operates under the "Expert Review" policy [RFC8126], with reserved values.

Registrations for new entries require the following information:

  • Name: A symbolic name for the setting. Specifying a setting name is optional.
  • Code: The 16-bit code assigned to the setting.
  • Initial Value: The initial value of the setting.
  • Specification: An optional reference to a specification that includes a description of the setting.

Entries registered by this document can be found in Table 2.

Table 2: Settings

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. Error Code Registry

This document establishes a registry for HTTP/2 error codes. The "HTTP/2 Error Code" registry manages a 32-bit space. The "HTTP/2 Error Code" registry operates under the "Expert Review" policy [RFC8126], with reserved values.

Registrations for new entries require the following information:

  • Name: The name of the error code. Specifying an error code name is optional.
  • Code: The 32-bit error code assigned.
  • Description: A brief description of the error condition.
  • Specification: An optional reference to a specification that defines the error code.

Entries registered by this document can be found in Table 3.

Table 3: Error Codes

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 Header Field Registration

This section registers the HTTP2-Settings header field in the "Hypertext Transfer Protocol (HTTP) Field Name Registry" [HTTP].

  • Header field name: HTTP2-Settings
  • Applicable protocol: http
  • Status: standard
  • Author/Change controller: IETF
  • Specification document(s): Section 3.2.1 of RFC 9113

11.6. PRI Method Registration

This section registers the PRI method in the "HTTP Method Registry" [HTTP].

  • Method Name: PRI
  • Safe: No
  • Idempotent: No
  • Specification document(s): Section 3.4 of RFC 9113

11.7. The 421 (Misdirected Request) HTTP Status Code

This section registers the 421 (Misdirected Request) HTTP status code in the "HTTP Status Codes" registry [HTTP].

  • Status Code: 421
  • Short Description: Misdirected Request
  • Specification document(s): Section 9.1.2 of RFC 9113

11.8. The h2c Upgrade Token

This section registers the "h2c" upgrade token in the "HTTP Upgrade Token Registry" [HTTP].

  • Name: h2c
  • Description: Hypertext Transfer Protocol version 2 (HTTP/2)
  • Expected Version Tokens: None
  • References: Section 3.2 of RFC 9113

Chapter 11 complete!

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.