Mteja anaona 200 Connection Established, aanza TLS na mara moja anaripoti upuuzi mahali panapopaswa kuwa na rekodi ya TLS. Tafuta jibu la HTTP ambalo halijakamilika kabla ya kulaumu mipangilio ya sifa za lengo.

Katika mabadilishano ya HTTP/1 CONNECT, mstari wa hali ni mwanzo wa jibu pekee. Sehemu za kichwa zinaweza kufuata. Mstari tupu unaohitimisha sehemu ya kichwa unaonyesha kuingia kwenye handaki baada ya jibu la CONNECT lenye mafanikio.

HTTP/1.1 200 Connection Established\r\n
Proxy-Agent: example\r\n
\r\n

Baiti hizo zinaweza kufika kwa usomaji mmoja, usomaji kadhaa, au usomaji unaojumuisha pia baiti zinazofuata. TCP haihifadhi mipaka ya uandishi ya seva.

Fanya ukabidhishaji kuwa hali dhahiri ya kichanganuzi

  1. Kusanya na kuchanganua mstari wa hali. Tumia hali ya nambari badala ya kirai kamili cha sababu kwa Kiingereza.
  2. Endelea hadi kihitimishi kamili cha sehemu ya kichwa kifike. Mstari wa hali wenye mafanikio haufanyi sehemu zilizobaki kutoweka.
  3. Kwa jibu la CONNECT lenye mafanikio, chukulia baiti iliyo mara moja baada ya kihitimishi hicho kama mwanzo wa data ya handaki. Kwa majibu mengine, fuata utunzaji ufaao wa jibu la HTTP na uthibitishaji.
  4. Hamisha muunganisho na baiti zozote zisizotumika kupitia kiolesura cha I/O chenye bafa kinachoungwa mkono na itifaki inayofuata.

Hatua ya mwisho ni muhimu hata kwa utafutaji mzuri wa kitenganishi. Msomaji mwenye bafa anaweza kuwa ametumia socket zaidi ya kichanganuzi kilivyoomba. Kuanzisha TLS kwenye socket tupu huku ukiacha msomaji huyo kunaweza kuacha baiti kwenye bafa la faragha la msomaji.

Tumia muda wa mwisho wa kuweka na kikomo cha ukubwa wa kichwa. EOF kabla ya kihitimishi ni jibu la proksi lisilokamilika, si mwaliko wa kusubiri milele au kujaribu TLS hata hivyo.

Fikiri kupitia mipaka kadhaa

Fikiria usomaji unaoishia baada ya Proxy-Agent:. Kichanganuzi bado kinahitaji baiti zaidi za kichwa cha HTTP. Fikiria mwingine unaoishia katikati ya mfululizo wa mwisho wa CRLF. Hiyo bado si sehemu kamili ya kichwa. Sasa fikiria sehemu kamili ya kichwa yenye mafanikio ikifuatiwa na baiti za handaki katika bafa moja: baiti hizo za ziada lazima zistahimili ukabidhishaji.

407 ni matokeo tofauti. Inahitaji utunzaji wa uthibitishaji; hairuhusu TLS ClientHello kuingia kwenye handaki ambalo hakikuwahi kufunguliwa.

Pendelea kiunganishi kinachotunzwa isipokuwa utekelezaji wa kupeana mkono ndiyo kazi yenyewe. Mpaka huu ni mahususi kwa mabadilishano ya HTTP/1 yaliyoonyeshwa hapa. Proksi ya HTTP/2 hubeba CONNECT kwenye mtiririko wenye ufremu tofauti.

Makala zinazohusiana