Jira layin fanko bayan CONNECT
Karanta cikakken amsar HTTP/1 CONNECT kafin ka mika socket ga TLS, ko da layin matsayi ya zo da farko.
Abokin ciniki yana ganin 200 Connection Established, ya fara TLS, kuma nan take ya ba da labarin shirme a inda ya kamata a sami rikodin TLS. Nemi amsar HTTP da ba ta kammala ba kafin ka zargi saitunan sirrin manufa.
A cikin musayar HTTP/1 CONNECT, layin matsayi shine farkon amsar kawai. Filayen kanun labarai na iya biyo baya. Layin fanko da ke ƙare sashen kanun labarai shine ke nuna sauyawa zuwa ramin bayan nasarar amsar CONNECT.
HTTP/1.1 200 Connection Established\r\n
Proxy-Agent: example\r\n
\r\n
Waɗannan bytes na iya zuwa a karatu ɗaya, a karatu da yawa, ko a wani karatu wanda kuma ya ƙunshi bytes na gaba. TCP ba ya kiyaye iyakokin rubutun uwar garke.
Maida miƙa-wuɗi ya zama bayyanannen yanayin mai nazari
- Tattara ka nazarci layin matsayi. Yi amfani da lambar matsayi maimakon ainihin jimlar dalili ta Turanci.
- Ci gaba har sai cikakken ƙarshen sashen kanun labarai ya iso. Layin matsayi mai nasara ba ya sa sauran filayen su ɓace.
- A nasarar amsar CONNECT, ɗauki byte da ke nan da nan bayan wannan ƙarshen a matsayin farkon bayanan rami. A sauran amsoshi, bi yadda ya dace na amsar HTTP da tantancewa.
- Miƙa haɗin da duk bytes da ba a cinye ba ta hanyar mahaɗin I/O mai tanadi da ka'idar ta gaba ke tallafawa.
Matakin ƙarshe yana da muhimmanci ko da an yi kyakkyawan bincike na mai rabawa. Mai karatu mai tanadi na iya cinye fiye da abin da mai nazari ya nema daga socket. Fara TLS a kan socket ɗin tsirara yayin barin wancan mai karatu na iya barin bytes a cikin tanadin mai karatu na sirri.
Yi amfani da ƙayyadadden lokacin saiti da iyakar girman kanun labarai. EOF kafin ƙarshen amsar wakili ce da ba ta cika ba, ba gayyata ce ta jira har abada ko gwada TLS duk da haka ba.
Yi tunani kan iyakoki da dama
Ka yi tunanin karatu da ya ƙare bayan Proxy-Agent:. Mai nazari na buƙatar ƙarin bytes na kanun labarai na HTTP. Ka yi tunanin wani wanda ya ƙare a tsakiyar jerin CRLF na ƙarshe. Wannan har yanzu ba cikakken sashen kanun labarai ba ne. Yanzu ka yi tunanin cikakken sashen kanun labarai mai nasara wanda bytes na rami ke biye a cikin tanadi ɗaya: waɗannan ƙarin bytes dole ne su tsira daga miƙa-wuɗi.
407 wata daban ce. Yana buƙatar kulawar tantancewa; ba ya ba da izinin TLS ClientHello cikin ramin da ba a taɓa buɗewa ba.
Fi son mahaɗi da ake kula da shi sai dai idan aiwatar da musafaha shine aikin. Wannan iyaka ta shafi musayar HTTP/1 da aka nuna a nan. Wakilin HTTP/2 yana ɗaukar CONNECT akan rafi mai daban-daban firam.