Passa al contenuto principale

7. Error Codes (Codici di Errore)

I codici di errore (Error codes) sono campi a 32 bit utilizzati nei frame RST_STREAM e GOAWAY per trasmettere i motivi dell'errore di stream o connessione.

I codici di errore condividono uno spazio di codice comune. Alcuni codici di errore si applicano solo agli stream o all'intera connessione e non hanno semantiche definite nell'altro contesto.

I seguenti codici di errore sono definiti:

NO_ERROR (0x00): La condizione associata non è il risultato di un errore. Ad esempio, un GOAWAY potrebbe includere questo codice per indicare la chiusura normale di una connessione.

PROTOCOL_ERROR (0x01): L'endpoint ha rilevato un errore di protocollo non specifico. Questo errore viene utilizzato quando non è disponibile un codice di errore più specifico.

INTERNAL_ERROR (0x02): L'endpoint ha riscontrato un errore interno imprevisto.

FLOW_CONTROL_ERROR (0x03): L'endpoint ha rilevato che il suo peer ha violato il protocollo di controllo di flusso.

SETTINGS_TIMEOUT (0x04): L'endpoint non ha ricevuto una risposta a un frame SETTINGS entro un tempo ragionevole. Vedere la Sezione 6.5.3 ("Sincronizzazione delle impostazioni").

STREAM_CLOSED (0x05): L'endpoint ha ricevuto un frame dopo che uno stream è diventato half-closed.

FRAME_SIZE_ERROR (0x06): L'endpoint ha ricevuto un frame con una dimensione non valida.

REFUSED_STREAM (0x07): L'endpoint ha rifiutato lo stream prima di eseguire qualsiasi elaborazione dell'applicazione (vedere la Sezione 8.7 per i dettagli).

CANCEL (0x08): L'endpoint utilizza questo per indicare che lo stream non è più necessario.

COMPRESSION_ERROR (0x09): L'endpoint non è in grado di mantenere il contesto di compressione della sezione di campi per la connessione.

CONNECT_ERROR (0x0a): La connessione stabilita in risposta a una richiesta CONNECT (Sezione 8.5) è stata reimpostata o chiusa in modo anomalo.

ENHANCE_YOUR_CALM (0x0b): L'endpoint ha rilevato che il suo peer sta esibendo un comportamento che potrebbe generare un carico eccessivo.

INADEQUATE_SECURITY (0x0c): Il trasporto sottostante ha proprietà che non soddisfano i requisiti di sicurezza minimi (vedere la Sezione 9.2).

HTTP_1_1_REQUIRED (0x0d): L'endpoint richiede che venga utilizzato HTTP/1.1 invece di HTTP/2.

I codici di errore sconosciuti o non supportati NON DEVONO attivare alcun comportamento speciale. Questi POSSONO essere trattati da un'implementazione come equivalenti a INTERNAL_ERROR.


Capitolo 7 completato!