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