Passa al contenuto principale

2.3. Proxy Error Types & 2.4. Defining New Types (Tipi di errore proxy e definizione di nuovi tipi)

2.3. Proxy Error Types (Tipi di errore proxy)​

Questa sezione elenca i tipi di errore proxy definiti in questo documento. Le singole voci in questo elenco possono avere i seguenti campi:

  • Nome: Il nome registrato del tipo di errore
  • Descrizione: Una definizione del tipo di errore
  • Parametri aggiuntivi: Zero o più parametri aggiuntivi che possono essere utilizzati con il tipo di errore
  • Codice di stato HTTP raccomandato: Il codice di stato HTTP più appropriato per questo errore
  • Risposta generata solo da intermediari: Indica se questo errore può apparire solo nelle risposte generate dall'intermediario (true), o può apparire nelle risposte che vengono inoltrate (false)
  • Riferimento: Questo documento

2.3.1. DNS Timeout (Timeout DNS)​

Nome: dns_timeout

Descrizione: L'intermediario ha riscontrato un timeout nel tentativo di cercare l'indirizzo IP per il nome host del prossimo hop.

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: 504

Risposta generata solo da intermediari: true

Riferimento: RFC 9209

2.3.2. DNS Error (Errore DNS)​

Nome: dns_error

Descrizione: L'intermediario ha riscontrato un errore DNS nel tentativo di cercare l'indirizzo IP per il nome host del prossimo hop.

Parametri aggiuntivi:

  • rcode: Una stringa (String) che trasmette il RCODE DNS che indica il tipo di errore. Vedere [RFC8499] Sezione 3.
  • info-code: Un numero intero (Integer) che trasmette il codice di errore DNS esteso [RFC8914] che indica il tipo di errore.
  • ttl: Un numero intero (Integer) che indica il TTL DNS utilizzato dalla risoluzione, in secondi.

Codice di stato HTTP raccomandato: 502

Risposta generata solo da intermediari: true

Riferimento: RFC 9209

2.3.3. Destination Not Found (Destinazione non trovata)​

Nome: destination_not_found

Descrizione: L'intermediario non può determinare il prossimo hop appropriato da utilizzare per questa richiesta; ad esempio, potrebbe non essere configurato. Si noti che questo errore è specifico per i gateway, che di solito richiedono una configurazione specifica per identificare i server "backend"; i proxy diretti utilizzano in-flight_request_error quando non possono localizzare il prossimo hop con le informazioni nella richiesta.

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: 500

Risposta generata solo da intermediari: true

Riferimento: RFC 9209

2.3.4. Destination Unavailable (Destinazione non disponibile)​

Nome: destination_unavailable

Descrizione: L'intermediario considera il prossimo hop non disponibile; ad esempio, i recenti tentativi di comunicazione con esso potrebbero essere falliti, o un controllo di salute potrebbe indicare che è fuori servizio.

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: 503

Risposta generata solo da intermediari: true

Riferimento: RFC 9209

2.3.5. Destination IP Prohibited (IP di destinazione vietato)​

Nome: destination_ip_prohibited

Descrizione: L'intermediario è configurato per vietare le connessioni all'indirizzo IP del prossimo hop.

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: 502

Risposta generata solo da intermediari: true

Riferimento: RFC 9209

2.3.6. Destination IP Unroutable (IP di destinazione non instradabile)​

Nome: destination_ip_unroutable

Descrizione: L'intermediario non può trovare un percorso verso l'indirizzo IP del prossimo hop.

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: 502

Risposta generata solo da intermediari: true

Riferimento: RFC 9209

2.3.7. Connection Refused (Connessione rifiutata)​

Nome: connection_refused

Descrizione: La connessione dell'intermediario al prossimo hop è stata rifiutata.

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: 502

Risposta generata solo da intermediari: true

Riferimento: RFC 9209

2.3.8. Connection Terminated (Connessione terminata)​

Nome: connection_terminated

Descrizione: La connessione dell'intermediario al prossimo hop è stata chiusa prima di ricevere qualsiasi parte della risposta.

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: 502

Risposta generata solo da intermediari: true

Riferimento: RFC 9209

2.3.9. Connection Timeout (Timeout di connessione)​

Nome: connection_timeout

Descrizione: Il tentativo dell'intermediario di aprire una connessione al prossimo hop è andato in timeout.

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: 504

Risposta generata solo da intermediari: true

Riferimento: RFC 9209

2.3.10. Connection Read Timeout (Timeout di lettura della connessione)​

Nome: connection_read_timeout

Descrizione: L'intermediario si aspettava di ricevere dati sulla connessione (ad esempio, una parte della risposta) ma non ha ricevuto nuovi dati entro il limite di tempo configurato.

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: 504

Risposta generata solo da intermediari: false

Riferimento: RFC 9209

2.3.11. Connection Write Timeout (Timeout di scrittura della connessione)​

Nome: connection_write_timeout

Descrizione: L'intermediario ha tentato di scrivere dati sulla connessione ma non è riuscito a farlo (ad esempio, perché il suo buffer era pieno).

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: 504

Risposta generata solo da intermediari: false

Riferimento: RFC 9209

2.3.12. Connection Limit Reached (Limite di connessione raggiunto)​

Nome: connection_limit_reached

Descrizione: L'intermediario è configurato per limitare il numero delle sue connessioni al prossimo hop e ha superato tale limite.

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: 503

Risposta generata solo da intermediari: true

Riferimento: RFC 9209

2.3.13. TLS Protocol Error (Errore del protocollo TLS)​

Nome: tls_protocol_error

Descrizione: L'intermediario ha riscontrato un errore TLS durante la comunicazione con il prossimo hop, sia durante l'handshake che dopo.

Parametri aggiuntivi:

  • alert-message: Un token (Token) che rappresenta il sottocampo di descrizione applicabile del messaggio di avviso TLS [TLS] Sezione 6; ad esempio, "handshake_failure" o "certificate_expired".

Codice di stato HTTP raccomandato: 502

Risposta generata solo da intermediari: true

Riferimento: RFC 9209

2.3.14. TLS Certificate Error (Errore del certificato TLS)​

Nome: tls_certificate_error

Descrizione: L'intermediario ha riscontrato un errore durante la verifica del certificato presentato dal prossimo hop.

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: 502

Risposta generata solo da intermediari: true

Riferimento: RFC 9209

2.3.15. TLS Alert Received (Avviso TLS ricevuto)​

Nome: tls_alert_received

Descrizione: L'intermediario ha ricevuto un avviso TLS dal prossimo hop.

Parametri aggiuntivi:

  • alert-id: Un numero intero (Integer) contenente il campo applicabile del messaggio di avviso TLS [TLS] Sezione 6.
  • alert-message: Un token (Token) che rappresenta il sottocampo di descrizione applicabile del messaggio di avviso TLS [TLS] Sezione 6; ad esempio, "handshake_failure" o "certificate_expired".

Codice di stato HTTP raccomandato: 502

Risposta generata solo da intermediari: false

Riferimento: RFC 9209

2.3.16. HTTP Request Error (Errore di richiesta HTTP)​

Nome: http_request_error

Descrizione: L'intermediario sta generando una risposta client (4xx) per conto del server di origine. I codici di stato applicabili includono (ma non sono limitati a) 400, 403, 405, 406, 408, 411, 413, 414, 415, 416, 417 e 429.

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: Codice di stato 4xx applicabile

Risposta generata solo da intermediari: true

Riferimento: RFC 9209

2.3.17. HTTP Request Denied (Richiesta HTTP negata)​

Nome: http_request_denied

Descrizione: L'intermediario ha negato la richiesta HTTP in base alla sua configurazione e/o alle impostazioni delle politiche. La richiesta non è stata inoltrata al prossimo hop.

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: 400

Risposta generata solo da intermediari: true

Riferimento: RFC 9209

2.3.18. HTTP Incomplete Response (Risposta HTTP incompleta)​

Nome: http_response_incomplete

Descrizione: L'intermediario ha ricevuto una risposta incompleta dal prossimo hop.

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: 502

Risposta generata solo da intermediari: false

Riferimento: RFC 9209

2.3.19. HTTP Response Header Section Too Large (Sezione di intestazione della risposta HTTP troppo grande)​

Nome: http_response_header_section_size

Descrizione: L'intermediario ha ricevuto una risposta alla richiesta la cui sezione di intestazione è considerata troppo grande.

Parametri aggiuntivi:

  • header-section-size: Un numero intero (Integer) che indica la dimensione dell'intestazione ricevuta.

Codice di stato HTTP raccomandato: 502

Risposta generata solo da intermediari: false

Riferimento: RFC 9209

2.3.20. HTTP Response Header Field Line Too Large (Riga del campo di intestazione della risposta HTTP troppo grande)​

Nome: http_response_header_size

Descrizione: L'intermediario ha ricevuto una risposta alla richiesta contenente una riga del campo di intestazione considerata troppo grande.

Parametri aggiuntivi:

  • header-name: Una stringa (String) che indica il nome del campo di intestazione che ha causato l'errore.
  • header-size: Un numero intero (Integer) che indica la dimensione del campo di intestazione che ha causato l'errore.

Codice di stato HTTP raccomandato: 502

Risposta generata solo da intermediari: false

Riferimento: RFC 9209

2.3.21. HTTP Response Body Too Large (Corpo della risposta HTTP troppo grande)​

Nome: http_response_body_size

Descrizione: L'intermediario ha ricevuto una risposta alla richiesta il cui corpo è considerato troppo grande.

Parametri aggiuntivi:

  • body-size: Un numero intero (Integer) che indica la dimensione del corpo ricevuto.

Codice di stato HTTP raccomandato: 502

Risposta generata solo da intermediari: false

Riferimento: RFC 9209

2.3.22. HTTP Response Trailer Section Too Large (Sezione di coda della risposta HTTP troppo grande)​

Nome: http_response_trailer_section_size

Descrizione: L'intermediario ha ricevuto una risposta alla richiesta la cui sezione di coda è considerata troppo grande.

Parametri aggiuntivi:

  • trailer-section-size: Un numero intero (Integer) che indica la dimensione della coda ricevuta.

Codice di stato HTTP raccomandato: 502

Risposta generata solo da intermediari: false

Riferimento: RFC 9209

2.3.23. HTTP Response Trailer Field Line Too Large (Riga del campo di coda della risposta HTTP troppo grande)​

Nome: http_response_trailer_size

Descrizione: L'intermediario ha ricevuto una risposta alla richiesta contenente una riga del campo di coda considerata troppo grande.

Parametri aggiuntivi:

  • trailer-name: Una stringa (String) che indica il nome del campo di coda che ha causato l'errore.
  • trailer-size: Un numero intero (Integer) che indica la dimensione del campo di coda che ha causato l'errore.

Codice di stato HTTP raccomandato: 502

Risposta generata solo da intermediari: false

Riferimento: RFC 9209

2.3.24. HTTP Response Transfer-Coding Error (Errore di codifica del trasferimento della risposta HTTP)​

Nome: http_response_transfer_coding

Descrizione: L'intermediario ha riscontrato un errore durante la decodifica della codifica del trasferimento della risposta.

Parametri aggiuntivi:

  • coding: Un token (Token) contenente la codifica specifica (dal "HTTP Transfer Coding Registry") che ha causato l'errore.

Codice di stato HTTP raccomandato: 502

Risposta generata solo da intermediari: false

Riferimento: RFC 9209

2.3.25. HTTP Response Content-Coding Error (Errore di codifica del contenuto della risposta HTTP)​

Nome: http_response_content_coding

Descrizione: L'intermediario ha riscontrato un errore durante la decodifica della codifica del contenuto della risposta.

Parametri aggiuntivi:

  • coding: Un token (Token) contenente la codifica specifica (dal "HTTP Content Coding Registry") che ha causato l'errore.

Codice di stato HTTP raccomandato: 502

Risposta generata solo da intermediari: false

Riferimento: RFC 9209

2.3.26. HTTP Response Timeout (Timeout della risposta HTTP)​

Nome: http_response_timeout

Descrizione: L'intermediario ha raggiunto un limite di tempo configurato durante l'attesa di una risposta completa.

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: 504

Risposta generata solo da intermediari: false

Riferimento: RFC 9209

2.3.27. HTTP Upgrade Failed (Aggiornamento HTTP fallito)​

Nome: http_upgrade_failed

Descrizione: Il processo di negoziazione di un aggiornamento della versione HTTP tra l'intermediario e il prossimo hop è fallito.

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: 502

Risposta generata solo da intermediari: true

Riferimento: RFC 9209

2.3.28. HTTP Protocol Error (Errore del protocollo HTTP)​

Nome: http_protocol_error

Descrizione: L'intermediario ha riscontrato un errore del protocollo HTTP durante la comunicazione con il prossimo hop. Questo errore dovrebbe essere utilizzato solo quando non è definito un errore più specifico.

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: 502

Risposta generata solo da intermediari: false

Riferimento: RFC 9209

2.3.29. Proxy Internal Response (Risposta interna del proxy)​

Nome: proxy_internal_response

Descrizione: L'intermediario ha generato la risposta da solo senza tentare di connettersi al prossimo hop.

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: Codice di stato più appropriato per la risposta

Risposta generata solo da intermediari: true

Riferimento: RFC 9209

2.3.30. Proxy Internal Error (Errore interno del proxy)​

Nome: proxy_internal_error

Descrizione: L'intermediario ha riscontrato un errore interno non correlato al server di origine.

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: 500

Risposta generata solo da intermediari: true

Riferimento: RFC 9209

2.3.31. Proxy Configuration Error (Errore di configurazione del proxy)​

Nome: proxy_configuration_error

Descrizione: L'intermediario ha riscontrato un errore relativo alla sua configurazione.

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: 500

Risposta generata solo da intermediari: true

Riferimento: RFC 9209

2.3.32. Proxy Loop Detected (Loop del proxy rilevato)​

Nome: proxy_loop_detected

Descrizione: L'intermediario ha tentato di inoltrare la richiesta a se stesso, oppure è stato rilevato un loop utilizzando un altro metodo (ad esempio, [RFC8586]).

Parametri aggiuntivi: Nessuno

Codice di stato HTTP raccomandato: 502

Risposta generata solo da intermediari: true

Riferimento: RFC 9209

2.4. Defining New Proxy Error Types (Definizione di nuovi tipi di errore proxy)​

Nuovi tipi di errore proxy possono essere definiti registrandoli nel registro "HTTP Proxy Error Types".

Le richieste di registrazione sono esaminate e approvate tramite revisione esperta, secondo la Sezione 4.5 di [RFC8126]. Un documento di specifica è apprezzato ma non è richiesto.

Gli esperti dovrebbero considerare i seguenti fattori nella valutazione delle richieste:

  • Feedback dalla comunità
  • Se il valore è definito con sufficiente chiarezza
  • I tipi generici sono preferiti rispetto ai valori specifici del fornitore, specifici dell'applicazione o specifici della distribuzione. Se la comunità non riesce a raggiungere un consenso su un valore generico, il nome del tipo dovrebbe essere specifico di conseguenza (ad esempio, prefissato con qualcosa che identifica il fornitore, l'applicazione o la distribuzione).
  • I parametri aggiuntivi non dovrebbero entrare in conflitto con i parametri Proxy-Status registrati.

Le richieste di registrazione dovrebbero utilizzare il seguente modello:

Nome: [Nome del tipo di errore proxy, di tipo Token]

Descrizione: [Descrizione delle condizioni che generano il tipo di errore proxy]

Parametri aggiuntivi: [Zero o più parametri opzionali e i loro tipi strutturati consentiti]

Codice di stato HTTP raccomandato: [Codice di stato HTTP appropriato per questa voce]

Risposta generata solo da intermediari: ['true' o 'false']

Riferimento: [Riferimento alla specifica che definisce questo tipo di errore; opzionale]

Note: [Opzionale]

Se il tipo di errore proxy può apparire in una risposta che non è stata generata dall'intermediario -- ad esempio, quando viene rilevato un errore durante lo streaming di una risposta da una connessione inoltrata, con conseguente aggiunta di un campo di coda Proxy-Status -- 'Risposta generata solo da intermediari' dovrebbe essere 'false'. Se il tipo di errore proxy appare solo nelle risposte generate dall'intermediario, dovrebbe essere 'true'.

Per i dettagli sull'invio di una richiesta di registrazione, consultare il registro presso https://www.iana.org/assignments/http-proxy-status.