Passa al contenuto principale

1. Introduction (Introduzione)

1. Introduction (Introduzione)

Gli intermediari HTTP (vedere la sezione 3.7 di [HTTP]) -- inclusi sia i proxy diretti che i gateway (noti anche come "proxy inversi") -- sono diventati una parte sempre più significativa delle implementazioni HTTP. In particolare, i proxy inversi e le reti di distribuzione dei contenuti (CDN) formano parte dell'infrastruttura critica di molti siti web.

Tipicamente, gli intermediari HTTP inoltrano le richieste verso il server di origine (in entrata) e quindi inoltrano le loro risposte ai client (in uscita). Tuttavia, se si verifica un errore prima che venga ottenuta una risposta da un server in entrata, la risposta è spesso generata dall'intermediario stesso.

HTTP gestisce questi tipi di errori con alcuni codici di stato -- ad esempio, 502 (Bad Gateway, gateway non valido) e 504 (Gateway Timeout, timeout del gateway). Tuttavia, l'esperienza ha dimostrato che sono necessarie ulteriori informazioni per facilitare il debug e comunicare al client cosa è successo. Inoltre, gli intermediari a volte vogliono trasmettere informazioni aggiuntive sulla loro gestione di una risposta, anche se non l'hanno generata.

Per abilitare questi usi, la sezione 2 definisce un nuovo campo di risposta HTTP per consentire agli intermediari di trasmettere i dettagli della loro gestione di una risposta. La sezione 2.1 elenca le informazioni che possono essere aggiunte al campo dagli intermediari, che possono essere estese secondo la sezione 2.2. La sezione 2.3 definisce un insieme di tipi di errore da utilizzare quando un proxy incontra un problema nell'ottenere una risposta per la richiesta; questi possono essere estesi allo stesso modo secondo la sezione 2.4.

1.1. Notational Conventions (Convenzioni di notazione)

Le parole chiave "MUST (DEVE)", "MUST NOT (NON DEVE)", "REQUIRED (RICHIESTO)", "SHALL (DOVRÀ)", "SHALL NOT (NON DOVRÀ)", "SHOULD (DOVREBBE)", "SHOULD NOT (NON DOVREBBE)", "RECOMMENDED (RACCOMANDATO)", "NOT RECOMMENDED (NON RACCOMANDATO)", "MAY (PUÒ)" e "OPTIONAL (OPZIONALE)" in questo documento devono essere interpretate come descritto in BCP 14 [RFC2119] [RFC8174] quando, e solo quando, appaiono in lettere maiuscole, come mostrato qui.

Questo documento utilizza la seguente terminologia dalla sezione 3 di [STRUCTURED-FIELDS] per specificare sintassi e parsing: List (lista), String (stringa), Token, Integer (intero) e Byte Sequence (sequenza di byte).

Si noti che in questa specifica, "proxy" è usato per indicare sia i proxy diretti che quelli inversi, altrimenti noti come gateway. "Next hop (prossimo hop)" indica la connessione nella direzione che porta al server di origine per la richiesta.