Varðveittu biðminnisgögn eftir HTTP CONNECT svar
Forðastu fastna HTTP CONNECT handaband með því að finna mörk svarhausanna og varðveita bætin sem koma á eftir þeim.
Lítill proxy-umbúðir geta virkað fyrir HTTPS og síðan stöldrast þegar þær eru notaðar aftur fyrir samskiptareglur þar sem netþjónninn talar fyrst. Grunsamlega línan er oft sú sem bíður eftir að móttökubiðminnið endir með \r\n\r\n.
TCP gefur biðlarann straum. Eitt móttökukall getur skilað hálfri HTTP stöðulínu, heilu CONNECT svari, eða því svari strax fylgt af göngugögnum. Ekkert lofar því að lestur stöðvist við lok hausanna.
Finndu mörkin inni í biðminninu
Fyrir HTTP/1.1 CONNECT skipti, safnaðu bætum þar til hausendir er hvar sem er í biðminninu. Skiptu við fyrstu birtingu hans. Þátttu stöðulínuna og hausana úr fyrsta hlutanum; geymdu allt eftir mörkin sérstaklega. Settu stærðarmörk á hausa og tímatakmörk meðan beðið er, og meðhöndlaðu tóman socketlestur sem lokaða tengingu frekar en nýja boði í lykkju.
Loka 2xx svar sem tekst breytir tengingunni í gönguhátt strax eftir þessa hausa. Bætin á eftir eru þegar göngubæti. Ekki henda þeim, ekki bíða eftir CONNECT svarhluta, og ekki túlka Content-Length reit sem leyfi til að eyða hluta af nýju samskiptareglunum. Upplýsingasvör, ef til eru, þarf að meðhöndla fyrir það loka svar.
Umbúðirnar verða að afhenda afganginn sinn
Að skila aðeins undirliggjandi socketi týnir þeim bætum sem handabandstúlkurinn hefur þegar dregið út úr honum. Næsti lesandi þarf biðminnistrauma sem skilar fyrst geymda hala og heldur síðan áfram socketlestri. Fyrir samskiptareglur þar sem netþjónninn talar fyrst getur tap á þeirri fyrstu kveðju látið báðar hliðar bíða endalaust.
Hins vegar eru bæti úr misheppnuðu CONNECT svari ekki göngukveðja. 407 tilheyrir enn proxy-skiptunum og krefst auðkenningarmeðferðar; önnur misheppnuð staða krefst viðeigandi villuleiðar.
Þetta skiptir sérstaklega máli þegar FTP- eða SSH-biðlari er aðlagaður í gegnum HTTP proxy. Proxyið verður líka að leyfa umbeðna áfangastaðarhöfn, og FTP gæti þurft viðbótar gagnatengingar. Rétt hausgreining leysir straumafhendinguna; hún getur ekki veitt CONNECT-leyfi eða útvegað annan FTP-rásina.