Biðlarinn sér 200 Connection Established, byrjar TLS og tilkynnir strax bull þar sem TLS-færsla ætti að vera. Leitaðu að ókláruðu HTTP-svari áður en þú kennir dulkóðunarstillingum áfangastaðarins um.

Í HTTP/1 CONNECT samskiptum er stöðulínan aðeins byrjun svarsins. Hausreiti geta fylgt. Auða línan sem endar hauskaflann markar skiptinguna yfir í göngin eftir árangursríkt CONNECT svar.

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

Þessir bæti geta komið í einni lestri, nokkrum lestrum eða lestri sem inniheldur líka næstu bæti. TCP varðveitir ekki skriftarmörk netþjónsins.

Gerðu afhendinguna að skýru stöðu þáttarans

  1. Safnaðu og þáttaðu stöðulínuna. Notaðu tölulegu stöðuna í stað nákvæmrar enskrar ástæðusetningar.
  2. Haltu áfram þar til fullur endir hauskaflans er kominn. Árangursrík stöðulína lætur reitina sem eftir eru ekki hverfa.
  3. Við árangursríkt CONNECT svar skal líta á bætið strax eftir endinum sem byrjun göngugagna. Við önnur svör fylgdu viðeigandi meðferð HTTP svars og auðkenningar.
  4. Flyttu tenginguna og öll ónotuð bæti um biðminnisviðmót I/O sem næsta samskiptareglan styður.

Síðasta skrefið skiptir máli jafnvel með góðri leit að skiltákni. Biðminnislesari getur hafa neytt meira af socketinu en þáttarinn bað um. Að hefja TLS á beru socketinu meðan lesaranum er yfirgefið getur skilið bæti eftir í einkabiðminni lesarans.

Notaðu tímafrest fyrir uppsetningu og hámark á hausstærð. EOF fyrir endinn er ófullkomið proxy svar, ekki boð um að bíða að eilífu eða prófa TLS samt.

Hugleiddu nokkur mörk

Ímyndaðu þér lestur sem endar eftir Proxy-Agent:. Þáttarinn þarf enn fleiri HTTP hausbæti. Ímyndaðu þér annan sem endar mitt í síðustu CRLF röðinni. Það er ekki enn fullur hauskafli. Ímyndaðu þér nú fullan árangursríkan hauskafla sem göngubæti fylgja í sama biðminni: þessi aukabæti verða að komast af afhendinguna.

407 er önnur niðurstaða. Það krefst auðkenningarmeðferðar; það leyfir ekki TLS ClientHello inn í göng sem voru aldrei opnuð.

Veldu viðhaldið tengi nema að útfæra handabandið sé verkefnið. Þetta mark er sérstakt fyrir HTTP/1 samskiptin sem sýnd eru hér. HTTP/2 proxy ber CONNECT á streymi með annarri rammagjörð.

Tengdir greinar