Þegar niðurhalaða skráin byrjar á HTTP stöðulínu
Haltu HTTP svarsrammanum utan við niðurhalaða skrá í stað þess að afrita hvert bæti sem berst frá proxy-socket í útgangsskrána.
Ef meint PDF eða töflureiknir byrjar á HTTP/1.1 200 OK, hefur niðurhalarinn vistað hrátt svar í stað skrárinnar. Þetta skematíska svar inniheldur aðeins fjögur bæti af innihaldi:
HTTP/1.1 200 OK
Transfer-Encoding: chunked
4
DATA
0
Skráin er DATA. Stöðulínan, hausarnir, stærðarmerkið og lokagerðin tilheyra HTTP. Að fjarlægja fastan fjölda bæta er óöruggt því lengd hausa er breytileg. Að afrita allt eftir fyrstu auðu línuna skilur enn eftir bútaramman, og upplýsingasvör geta komið á undan endanlegu svari.
Fyrir venjulegt niðurhal skaltu skipta afritun frá hrárri socket í skrá út fyrir svarshlutfallsviðmót HTTP-biðlarans. Stilltu proxy hans, staðfestu endanlegt stöðu og streymdu hlutann í tímabundið útgang. Biðlarinn sér um ramma skilaboðanna: hlutar sem afmarkast af lengd, bútum og tengingu krefjast mismunandi greiningar.
Innihaldskóðun er annar lag. Ákveddu hvort þú þarft afkóðuð skráarbæti eða sérstaklega beðið hrátt innihald, byggt á skjalfestri hegðun biðlarans. Þjöppuð bæti eru ekki sjálfkrafa proxy-spilling.
Ef forritið verður að halda kóða á socket-stigi á það allar þessar greiningarreglur auk meðhöndlunar á lestri og skrift. Skrifaðu aðeins fjölda bæta sem lestur skilar í raun, ekki getu biðminnisins, og meðhöndlaðu hluta skriftir. Annars getur úrelt biðminnisinnihald spillt jafnvel rétt útdregnum hluta.
HTTPS krefst meira en að afklæða CONNECT svar: eftir árangursríka tunnuuppsetningu skaltu koma á TLS til áfangastaðar og greina síðan innra HTTP svarið. Dulkóðuðu bætin sem fylgja hausum proxysins eru ekki niðurhalanlega skráin.
Leyfðu misheppnuðum eða ófullnægjandi útgangi undir tímabundnu nafni. Birtu hann aðeins eftir að flutningurinn og skrárprófanirnar heppnast; tóm skrá sannar ekki fullt niðurhal.