Tapusin ang Pag-parse ng CONNECT Headers Bago I-relay ang Client Stream
Ang proxy server na nagre-relay pagkatapos lamang ng request line ay maaaring magpadala ng sarili nitong Host header sa TLS port ng destinasyon.
Pagkatapos ng CONNECT request line, pag-aari pa rin ng proxy ang mga byte na ito:
CONNECT service.example:443 HTTP/1.1\r\n
Host: service.example:443\r\n
User-Agent: example-client\r\n
\r\nAng pagpapasa ng Host o User-Agent sa port 443 ay nagbibigay sa destinasyon ng plaintext headers kung saan ito umaasa ng TLS. Maaaring mangyari ang kabiguang iyon bago pa maging mahalaga ang pagpili ng cipher.
- Basahin at i-parse hanggang sa terminator ng headers na blangkong linya, sa loob ng setup deadline at limitasyon sa laki ng header.
- Ilapat ang authentication ng proxy at patakaran ng destinasyon.
- Itatag ang aprubadong koneksyon sa target.
- Ipadala ang matagumpay na CONNECT reply at pumasok sa tunnel mode.
Itago ang mga naka-buffer na byte pagkatapos ng hangganan para sa naaangkop na susunod na estado. Huwag itong itapon o ituring ang mga request header ng proxy bilang susunod na request ng website.
May katumbas na obligasyon ang kliyente sa panig ng tugon: tapusin ang pagbasa ng matagumpay na CONNECT reply bago simulan ang tunneled protocol. Dapat magkasundo ang dalawang dulo sa hangganan kung saan nagbabago ng papel ang stream.