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.