Ne. Klijent može čitati veliku datoteku u malim baferima i poslati je sa poznatim Content-Length. Ograničena čitanja kontrolišu potrošnju memorije; HTTP uokviravanje govori primaocu gde se završava telo zahteva.

Stabilna datoteka čiju bajtovnu dužinu HTTP biblioteka zna razlikuje se od generatora koji proizvodi nepoznatu količinu podataka. Za oba izvora koristite interfejs tela koji biblioteka podržava. Nije potrebno sastavljati celu datoteku u niz samo da biste naveli dužinu.

Za HTTP/1.1 proverite stvarno poslato uokviravanje: Content-Length ili chunked prenosno kodiranje prema pravilima protokola. Chunked kodiranje dodaje oznake veličine izvan sadržaja datoteke. Ne kombinujte protivrečna polja uokviravanja i ne pogađajte dužinu kako biste ubedili proxy da prihvati prenos.

Ako prenos kroz proxy ne uspe, zabeležite verziju HTTP-a, izvor tela i prvo odbijanje. Odgovor 411 upućuje na drugačiju istragu od veze koja se zatvara na sredini tela. Ako umesto toga ne uspeju ponovni pokušaji autentifikacije, proverite može li se telo prenosa ponovo odigrati. Promena veličine čitačkog bafera aplikacije može ostaviti uokviravanje zahteva tačno kakvo je bilo.

Ruta je važna za to opažanje. Prenos otvorenim tekstom izlaže HTTP uokviravanje prenosa proxyju; običan end-to-end HTTPS stavlja ga u tunel. HTTP/2 koristi sopstveno uokviravanje. Zato istorijska Squid ograničenja objašnjavaju određene stare neuspehe, a ne pravilo da svaki današnji proxy odbija strujne prenose.

Povezani članci