Zum Hauptinhalt springen

11. IANA-Überlegungen

Diese Spezifikation richtet mehrere Registries für das HTTP/2-Protokoll ein. Dieser Abschnitt beschreibt diese Registries und ihre zugehörigen Registrierungsrichtlinien.

11.1. Registrierung von HTTP/2-Identifikationszeichenfolgen

Dieses Dokument erstellt zwei Registrierungen für die Identifikation von HTTP/2: die Zeichenfolgen "h2" und "h2c".

Die "h2"-Zeichenfolge identifiziert HTTP/2, wenn es über TLS verwendet wird, wie in Abschnitt 3.3 beschrieben.

Die "h2c"-Zeichenfolge identifiziert HTTP/2, wenn es über Klartext-TCP verwendet wird, wie in Abschnitt 3.2 beschrieben.

Diese Identifikationszeichenfolgen sind in der "Application-Layer Protocol Negotiation (ALPN) Protocol IDs"-Registry registriert (eingerichtet durch [TLS-ALPN]).

11.2. Frame-Typ-Registry

Dieses Dokument richtet eine Registry für HTTP/2-Frame-Typ-Codes ein. Die "HTTP/2 Frame Type"-Registry verwaltet einen 8-Bit-Raum. Die "HTTP/2 Frame Type"-Registry operiert unter der "Expert Review"-Richtlinie [RFC8126], mit reservierten Werten.

Registrierungen für neue Einträge erfordern die folgenden Informationen:

  • Frame Type: Ein Name oder eine Bezeichnung für den Frame-Typ.
  • Code: Der dem Frame-Typ zugewiesene 8-Bit-Code.
  • Specification: Eine Referenz zu einer Spezifikation, die eine Beschreibung des Frame-Typs enthält.

Durch dieses Dokument registrierte Einträge finden sich in Tabelle 1.

Tabelle 1: Frame-Typen

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

Dieses Dokument richtet eine Registry für HTTP/2-Einstellungen ein. Die "HTTP/2 Settings"-Registry verwaltet einen 16-Bit-Raum. Die "HTTP/2 Settings"-Registry operiert unter der "Expert Review"-Richtlinie [RFC8126], mit reservierten Werten.

Registrierungen für neue Einträge erfordern die folgenden Informationen:

  • Name: Ein symbolischer Name für die Einstellung. Die Angabe eines Einstellungsnamens ist optional.
  • Code: Der der Einstellung zugewiesene 16-Bit-Code.
  • Initial Value: Der Anfangswert der Einstellung.
  • Specification: Eine optionale Referenz zu einer Spezifikation, die eine Beschreibung der Einstellung enthält.

Durch dieses Dokument registrierte Einträge finden sich in Tabelle 2.

Tabelle 2: Einstellungen

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

Dieses Dokument richtet eine Registry für HTTP/2-Fehlercodes ein. Die "HTTP/2 Error Code"-Registry verwaltet einen 32-Bit-Raum. Die "HTTP/2 Error Code"-Registry operiert unter der "Expert Review"-Richtlinie [RFC8126], mit reservierten Werten.

Registrierungen für neue Einträge erfordern die folgenden Informationen:

  • Name: Der Name des Fehlercodes. Die Angabe eines Fehlercode-Namens ist optional.
  • Code: Der zugewiesene 32-Bit-Fehlercode.
  • Description: Eine kurze Beschreibung der Fehlerbedingung.
  • Specification: Eine optionale Referenz zu einer Spezifikation, die den Fehlercode definiert.

Durch dieses Dokument registrierte Einträge finden sich in Tabelle 3.

Tabelle 3: Fehlercodes

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. Registrierung des HTTP2-Settings-Header-Felds

Dieser Abschnitt registriert das HTTP2-Settings-Header-Feld in der "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 von RFC 9113

11.6. Registrierung der PRI-Methode

Dieser Abschnitt registriert die PRI-Methode in der "HTTP Method Registry" [HTTP].

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

11.7. Der 421 (Misdirected Request) HTTP-Statuscode

Dieser Abschnitt registriert den 421 (Misdirected Request) HTTP-Statuscode in der "HTTP Status Codes"-Registry [HTTP].

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

11.8. Das h2c-Upgrade-Token

Dieser Abschnitt registriert das "h2c"-Upgrade-Token in der "HTTP Upgrade Token Registry" [HTTP].

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

Kapitel 11 abgeschlossen!

Referenzen

  • [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, Juni 2017.
  • [HTTP] Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, Ed., "HTTP Semantics", STD 97, RFC 9110, Juni 2022.
  • [TLS-ALPN] Friedl, S., Popov, A., Langley, A., and E. Stephan, "Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension", RFC 7301, Juli 2014.