Tuseme jibu la HTTP linaonekana katika sehemu kadhaa za TCP zilizonaswa baada ya kupita Squid. Hiyo inaweza kuwa tabia ya kawaida ya TCP, na si ushahidi kwamba jibu liligawanywa vibaya.

Proksi ya mbele kwa kawaida ina miunganisho miwili:

client ⇄ TCP connection A ⇄ proxy ⇄ TCP connection B ⇄ origin

Kila muunganisho una hali yake ya TCP, nambari zake za mfuatano na upangaji wake wa pakiti. Proksi inaweza kusoma data kutoka muunganisho mmoja na kuiandika kwenye mwingine bila kuhifadhi ukubwa wa awali wa sehemu. Uhifadhi wa bafa, muda wa kutuma, msongamano na mipaka ya ukubwa wa njia vinaweza kuzalisha mkusanyiko mwingine.

Mipaka mitatu inayofaa kutenganishwa

MpakaNini huamua
Sehemu ya TCPNjia ya usafirishaji na mtandao
Matokeo ya usomaji wa socketBaiti za mtiririko zilizopo na bafa ya anayeita
Ujumbe au fremu ya HTTPKanuni za uwekaji fremu za itifaki ya HTTP

Usomaji mmoja unaweza kuwa na sehemu ya kichwa, kichwa kizima pamoja na baiti za mwili, au data inayovuka zaidi ya mpaka mmoja wa ngazi ya programu. TCP haiunganishi «mwisho wa jibu la HTTP» na mwisho wa usomaji uliofanikiwa.

Kwa hiyo kichanganuzi cha HTTP/1.1 hukusanya vichwa na kutumia kanuni za uwekaji fremu za mwili zinazohusika, zikiwemo urefu, usimbaji wa uhamishaji au kufungwa kwa muunganisho kunakoruhusiwa. Fremu ya HTTP/2 ni muundo wa itifaki ambao wenyewe unaweza kuvuka sehemu za TCP; si jina lingine la pakiti ya mtandao.

Tuneli ya CONNECT iliyofanikiwa huhifadhi mtiririko wa baiti zilizotunelishwa huku ikitumia miguu miwili ya TCP. Mipaka ya sehemu zake inaweza kutofautiana hata wakati proksi haijabadilisha baiti ndani ya tuneli.

Unapochunguza uharibifu, linganisha data ya programu iliyokwisha kukusanywa upya. Kulinganisha idadi ya pakiti au kutarajia urefu sawa wa pakiti pande zote mbili ni kudai kutoka TCP uhakika wa mipaka ambao hautoi.

Makala zinazohusiana