ERR_INVALID_CHUNKED_ENCODING nozīmē, ka atbildi nevarēja atšifrēt kā pilnīgu chunked ziņojumu. Tas, ka daļa satura pienāca veiksmīgi, nepierāda, ka pārējā atbildes daļa bija derīga.

  1. Glabājiet atbildes galvenes un pirmo dekodētāja kļūdu. Noskaidrojiet, kurš komponents to ziņoja un vai ziņojums tika deklarēts kā chunked.
  2. Atrodiet apstāšanās punktu. HTTP/1.1 chunked kodējumam nepieciešami izmēri, attiecīgie dati, atdalītāji un noslēguma bloks, vajadzības gadījumā arī trailers. Priekšlaicīga savienojuma aizvēršana un bojāts izmērs ir dažādas pēdas.
  3. Salīdziniet to pašu kontrolēto pieprasījumu paredzētajā maršrutā. Saskaņojiet pieprasījumu ar starpniekservera un augšupējās puses žurnāliem. Meklējiet augšupējās puses aizvēršanu, starpnieka pārveidojumu vai lietotnes atcelšanu šajā vietā.

Neseciniet par HTTP ietvaru no TCP bufera lieluma. Viena ligzdas lasīšana var saturēt pusi bloka vai vairākus blokus; bibliotēka pēc tam var atklāt dekodēto saturu dažādos buferos. JSON ierakstam ir vēl cita robeža. Starpniekserveris var pārveidot atbildi, nesaglabājot sākotnējās paketes robežas.

Ja pierādījumi norāda uz vecu Squid implementāciju, saglabājiet tās laidiena numuru kopā ar šo secinājumu. Squid 2.x ielāpu ieteikumi neapraksta visus pašreizējos laidienus. Salīdzināšanas laikā saglabājiet parasto dekodēšanu un sertifikātu validāciju: kļūdas nomākšana var atstāt nepilnīgu failu, kas izskatās kā veiksmīga lejupielāde.

Saistītie raksti