Ippreserva d-dejta fil-buffer wara tweġiba HTTP CONNECT
Evita handshake HTTP CONNECT imblukkat billi ssib il-limitu tal-headers tat-tweġiba u tippreserva l-bytes li jaslu warajh.
Wrapper tal-proxy żgħir jista’ jaħdem għal HTTPS u mbagħad jiddendel meta jerġa’ jintuża għal protokoll li s-server tiegħu jitkellem l-ewwel. Il-linja suspettuża ħafna drabi hija dik li tistenna li l-buffer tal-wasla jispiċċa b’\r\n\r\n.
TCP jagħti lill-klijent stream. Sejħa waħda tal-wasla tista’ tirritorna nofs linja tal-istatus HTTP, tweġiba CONNECT sħiħa, jew dik it-tweġiba segwita minnufih mid-dejta tal-mina. M’hemm l-ebda wegħda li qari jieqaf fit-tarf tal-headers.
Sib il-limitu ġewwa l-buffer
Għal skambju HTTP/1.1 CONNECT, iġbor il-bytes sakemm it-terminatur tal-headers jidher f’kull parti tal-buffer. Aqsam fl-ewwel okkorrenza tiegħu. Analizza l-linja tal-istatus u l-headers mill-ewwel parti; żomm kollox wara l-limitu separatament. Applika limitu tad-daqs tal-headers u timeout waqt li tkun qed tistenna, u ttratta qari vojt tas-socket bħala konnessjoni magħluqa minflok stedina oħra biex iddur fiċ-ċiklu.
Tweġiba 2xx finali b’suċċess tibdel il-konnessjoni għall-mod tal-mina minnufih wara dawk il-headers. Il-bytes li jiġu warajha huma diġà bytes tal-mina. Tarmixhomx, tistenna corp tat-tweġiba CONNECT u tinterpretax il-qasam Content-Length bħala permess biex tikkonsma parti mill-protokoll il-ġdid. Tweġibiet informattivi, jekk jeżistu, għandhom jiġu ttrattati qabel dik it-tweġiba finali.
Il-wrapper irid jgħaddi l-fdalijiet tiegħu
Li tirritorna biss is-socket sottostanti jitlef il-bytes li l-parser tal-handshake diġà ġibed minnu. Il-qarrej li jmiss jeħtieġ stream bufferjat li jagħti l-ewwel id-denb salvat u mbagħad jerġa’ jibda l-qari tas-socket. Għal protokoll fejn is-server jitkellem l-ewwel, it-telf ta’ dik il-ħabta inizjali jista’ jħalli ż-żewġ naħat jistennew bla tmiem.
Bil-maqlub, il-bytes minn tweġiba CONNECT falluta mhumiex ħabta tal-mina. 407 xorta jappartjeni għall-iskambju tal-proxy u jeħtieġ trattament tal-awtentikazzjoni; status ieħor mhux ta’ suċċess jeħtieġ triq tal-iżball xierqa.
Dan huwa importanti b’mod partikolari meta taddatta klijent FTP jew SSH permezz ta’ proxy HTTP. Il-proxy wkoll irid jippermetti l-port tad-destinazzjoni mitlub, u FTP jista’ jkollu bżonn konnessjonijiet tad-dejta addizzjonali. Analiżi korretta tal-headers issolvi l-għoti tal-istream; ma tistax tagħti permess CONNECT jew tipprovdi t-tieni kanal tal-FTP.