ERR_INVALID_CHUNKED_ENCODING azt jelenti, hogy a választ nem lehetett teljes chunked üzenetként dekódolni. Abból, hogy a tartalom egy része sikeresen megérkezik, nem következik, hogy a válasz többi része érvényes volt.

  1. Őrizze meg a válasz fejléceit és az első dekóderhibát. Állapítsa meg, melyik komponens jelentette, és hogy az üzenetet chunkedként deklarálták-e.
  2. Keresse meg a megállási pontot. A HTTP/1.1 chunked kódolás méreteket, a hozzájuk tartozó adatokat, elválasztókat és egy lezáró chunkot igényel, ahol releváns, trailerekkel. A korai kapcsolatbontás és a hibás méret különböző nyomok.
  3. Hasonlítsa össze ugyanazt az ellenőrzött kérést a szánt útvonalon. Párosítsa a kérést a proxy és az upstream naplóival. Keressen upstream lezárást, köztes átalakítást vagy alkalmazásoldali megszakítást azon a ponton.

Ne következtessen a HTTP keretezésre egy TCP-puffer méretéből. Egyetlen socket-olvasás tartalmazhat fél chunkot vagy több chunkot; a könyvtár ezután a dekódolt tartalmat különböző pufferekben teheti elérhetővé. A JSON-rekordnak még egy határa van. A proxy újrakeretezhet egy választ anélkül, hogy megőrizné az eredeti csomaghatárokat.

Ha a bizonyítékok régi Squid-implementációra mutatnak, tartsa meg annak kiadási számát ezzel a következtetéssel együtt. A Squid 2.x javítócsomag-tanácsai nem írnak le minden jelenlegi kiadást. Az összehasonlítás során őrizze meg a normál dekódolást és a tanúsítvány-ellenőrzést: a hiba elnyomása hiányos fájlt kelthet sikeres letöltés benyomását.

Kapcsolódó cikkek