11. Considerazioni IANA
Questa specifica stabilisce diversi registri per il protocollo HTTP/2. Questa sezione descrive questi registri e le loro politiche di registrazione associate.
11.1. Registrazione delle Stringhe di Identificazione HTTP/2
Questo documento crea due registrazioni per l'identificazione di HTTP/2: le stringhe "h2" e "h2c".
La stringa "h2" identifica HTTP/2 quando utilizzato su TLS, come descritto nella Sezione 3.3.
La stringa "h2c" identifica HTTP/2 quando utilizzato su TCP in chiaro, come descritto nella Sezione 3.2.
Queste stringhe di identificazione sono registrate nel registro "Application-Layer Protocol Negotiation (ALPN) Protocol IDs" (stabilito da [TLS-ALPN]).
11.2. Registro dei Tipi di Frame
Questo documento stabilisce un registro per i codici dei tipi di frame HTTP/2. Il registro "HTTP/2 Frame Type" gestisce uno spazio di 8 bit. Il registro "HTTP/2 Frame Type" opera secondo la politica "Expert Review" [RFC8126], con valori riservati.
Le registrazioni per le nuove voci richiedono le seguenti informazioni:
- Frame Type: Un nome o un'etichetta per il tipo di frame.
- Code: Il codice a 8 bit assegnato al tipo di frame.
- Specification: Un riferimento a una specifica che include una descrizione del tipo di frame.
Le voci registrate da questo documento si trovano nella Tabella 1.
Tabella 1: Tipi di Frame
| 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. Registro delle Impostazioni
Questo documento stabilisce un registro per le impostazioni HTTP/2. Il registro "HTTP/2 Settings" gestisce uno spazio di 16 bit. Il registro "HTTP/2 Settings" opera secondo la politica "Expert Review" [RFC8126], con valori riservati.
Le registrazioni per le nuove voci richiedono le seguenti informazioni:
- Name: Un nome simbolico per l'impostazione. Specificare un nome di impostazione è opzionale.
- Code: Il codice a 16 bit assegnato all'impostazione.
- Initial Value: Il valore iniziale dell'impostazione.
- Specification: Un riferimento opzionale a una specifica che include una descrizione dell'impostazione.
Le voci registrate da questo documento si trovano nella Tabella 2.
Tabella 2: Impostazioni
| 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. Registro dei Codici di Errore
Questo documento stabilisce un registro per i codici di errore HTTP/2. Il registro "HTTP/2 Error Code" gestisce uno spazio di 32 bit. Il registro "HTTP/2 Error Code" opera secondo la politica "Expert Review" [RFC8126], con valori riservati.
Le registrazioni per le nuove voci richiedono le seguenti informazioni:
- Name: Il nome del codice di errore. Specificare un nome di codice di errore è opzionale.
- Code: Il codice di errore a 32 bit assegnato.
- Description: Una breve descrizione della condizione di errore.
- Specification: Un riferimento opzionale a una specifica che definisce il codice di errore.
Le voci registrate da questo documento si trovano nella Tabella 3.
Tabella 3: Codici di Errore
| 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. Registrazione del Campo di Intestazione HTTP2-Settings
Questa sezione registra il campo di intestazione HTTP2-Settings nel "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 di RFC 9113
11.6. Registrazione del Metodo PRI
Questa sezione registra il metodo PRI nel "HTTP Method Registry" [HTTP].
- Method Name: PRI
- Safe: No
- Idempotent: No
- Specification document(s): Section 3.4 di RFC 9113
11.7. Il Codice di Stato HTTP 421 (Misdirected Request)
Questa sezione registra il codice di stato HTTP 421 (Misdirected Request) nel registro "HTTP Status Codes" [HTTP].
- Status Code: 421
- Short Description: Misdirected Request
- Specification document(s): Section 9.1.2 di RFC 9113
11.8. Il Token di Upgrade h2c
Questa sezione registra il token di upgrade "h2c" nel "HTTP Upgrade Token Registry" [HTTP].
- Name: h2c
- Description: Hypertext Transfer Protocol version 2 (HTTP/2)
- Expected Version Tokens: None
- References: Section 3.2 di RFC 9113
Capitolo 11 completato!
Riferimenti
- [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, Giugno 2017.
- [HTTP] Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, Ed., "HTTP Semantics", STD 97, RFC 9110, Giugno 2022.
- [TLS-ALPN] Friedl, S., Popov, A., Langley, A., and E. Stephan, "Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension", RFC 7301, Luglio 2014.