ERR_INVALID_CHUNKED_ENCODING betekent dat het antwoord niet als een volledig chunked bericht kon worden gedecodeerd. Dat een deel van de inhoud wel aankwam, bewijst niet dat de rest van het antwoord geldig was.

  1. Bewaar de responsheaders en de eerste decoderfout. Stel vast welke component die meldde en of het bericht als chunked was aangekondigd.
  2. Bepaal het stoppunt. HTTP/1.1 chunked-codering vereist groottes, de bijbehorende data, scheidingstekens en een afsluitend blok, met trailers waar van toepassing. Een vroege verbindingssluiting en een misvormde grootte zijn verschillende sporen.
  3. Vergelijk hetzelfde gecontroleerde verzoek op de bedoelde route. Leg het verzoek naast de proxy- en upstream-logs. Zoek op dat punt naar een sluiting door de upstream, een transformatie door een tussenpartij of annulering door de applicatie.

Leid HTTP-framing niet af uit de grootte van een TCP-buffer. Eén socket-read kan een half blok of meerdere blokken bevatten; een bibliotheek kan de gedecodeerde inhoud daarna in verschillende buffers aanbieden. Een JSON-record heeft weer een andere grens. Een proxy kan een antwoord opnieuw inkaderen zonder de oorspronkelijke packetgrenzen te bewaren.

Wijzen de aanwijzingen op een oude Squid-implementatie, houd dan het releasenummer bij die conclusie. Patchadvies voor Squid 2.x beschrijft niet elke huidige release. Behoud normale decoding en certificaatvalidatie tijdens de vergelijking: het onderdrukken van de fout kan een onvolledig bestand op een geslaagde download laten lijken.

Gerelateerde artikelen