Passa al contenuto principale

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

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

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