Wann déi erofgeluede Fichier mat enger HTTP-Statuslinn ufänkt
Halt d'HTTP-Antwertkadréierung aus der erofgeluedener Fichier eraus, amplaz all Byte, dee vun engem Proxy-Socket kënnt, an d'Ausgabfichier ze kopéieren.
Wann en angeblech PDF oder eng Tabell mat HTTP/1.1 200 OK ufänkt, huet den Eroflueder eng ro Antwort amplaz vun der Fichier gespäichert. Dës schematesch Äntwert enthält nëmmen véier Byte Inhalt:
HTTP/1.1 200 OK
Transfer-Encoding: chunked
4
DATA
0
D'Fichier ass DATA. D'Statuslinn, d'Header, de Gréisstmarker an d'Schlussstruktur gehéieren zu HTTP. Eng fix Zuel vu Byten ewechzehuelen ass net sécher, well d'Headerlängten ënnerschiddlech sinn. Alles no der éischter eideler Linn ze kopéieren, léisst nach ëmmer d'Chunkkadréierung stoen, an Informatiounsäntwerten kënnen der endgülteger Äntwert virausgoen.
Fir en normale Download ersetzt d'Kopie vum rohe Socket an d'Fichier duerch d'Antwertkierper-Interface vum HTTP-Client. Konfiguréier säi Proxy, validéier de Schlussstatus an stream de Kierper an eng temporär Ausgab. De Client iwwerhëlt d'Messagekadréierung: Kierper, déi duerch Längt, Chunks an d'Verbindung begrenzt sinn, brauchen ënnerschiddlech Parsing.
D'Inhaltskodéierung ass nach eng Schicht. Entscheet op dir dekodéiert Fichiersbyten oder explizit ugefrote rohen Inhalt braucht, op Basis vum dokumentéierte Verhalen vum Client. Kompriméiert Byte sinn net automatesch Proxy-Korruptioun.
Wann d'Applikatioun Code op Socket-Niveau behale muss, gehéieren all déi Parsingsregelen an d'Behandluung vu Liesen a Schreiwen dozou. Schreif nëmmen d'Zuel vu Byten, déi e Liesen tatsächlech zréckgëtt, net d'Kapazitéit vum Puffer, a behandel deelweis Schreiwen. Soss kann ale Pufferinhalt och e korrekt extrahéierte Kierper beschiedegen.
HTTPS verlangt méi wéi eng CONNECT-Antwert ofzeschälen: no der erfollegräicher Tunnelsetup etabléier TLS zum Zil an analyséier duerno déi bannenzeg HTTP-Antwert. Déi verschlësselt Byte no den Header vum Proxy sinn net déi erofluedbar Fichier.
Looss feelgeschloen oder onkomplett Ausgab ënner engem temporären Numm. Publizéier se eréischt, wann den Transfert an d'Fichierskontrollen erfollegräich sinn; eng net-eidel Fichier beweist keen kompletten Download.