ERR_INVALID_CHUNKED_ENCODING significa che la risposta non è stata decodificabile come messaggio chunked completo. Il fatto che parte del contenuto arrivi correttamente non dimostra che il resto della risposta fosse valido.

  1. Conservate le intestazioni della risposta e il primo errore del decodificatore. Stabilite quale componente lo ha segnalato e se il messaggio era dichiarato chunked.
  2. Individuate il punto di arresto. La codifica HTTP/1.1 chunked richiede dimensioni, i dati corrispondenti, delimitatori e un chunk finale, con trailer ove applicabile. Una chiusura precoce della connessione e una dimensione malformata sono indizi diversi.
  3. Confrontate la stessa richiesta controllata sul percorso previsto. Abbinate la richiesta ai log del proxy e dell'upstream. Cercate una chiusura dell'upstream, una trasformazione intermedia o un annullamento dell'applicazione in quel punto.

Non deducete l'incorniciatura HTTP dalla dimensione di un buffer TCP. Una singola lettura socket può contenere mezzo chunk o più chunk; una libreria può poi esporre il contenuto decodificato in buffer diversi. Un record JSON ha ancora un altro confine. Un proxy può reincorniciare una risposta senza preservare i confini originali dei pacchetti.

Se le prove indicano un'implementazione Squid datata, conservatene il numero di versione insieme a quella conclusione. I consigli sulle patch per Squid 2.x non descrivono ogni versione attuale. Mantenete la decodifica normale e la validazione dei certificati durante il confronto: sopprimere l'errore può far sembrare un file incompleto un download riuscito.

Articoli correlati