Un răspuns CONNECT HTTP/1.1 reușit se termină după secțiunea sa de antete:

HTTP/1.1 200 Connection Established

După această limită, aceeași conexiune transportă tunelul. Pentru o destinație HTTPS, următorii octeți ai clientului încep de obicei schimbul TLS cu destinația.

Proxy-ul nu trebuie să adauge Transfer-Encoding sau Content-Length unui răspuns CONNECT reușit. Nu există niciun corp de răspuns HTTP de împărțit în chunk-uri. Adăugarea unui chunk final gol ar injecta, dimpotrivă, octeți în noul tunel.

Și clientul are o cerință: trebuie să ignore acele câmpuri de framing dacă apar într-un răspuns CONNECT 2xx. Așadar, un expeditor malformat nu este un motiv să descrii fiecare client conform ca așteptând un corp împărțit.

Păstrați conexiunea stabilită deschisă pentru retransmitere. Închiderea ei după 200 distruge tunelul; deschiderea altei conexiuni nu este continuarea cererii CONNECT acceptate.

Un răspuns CONNECT eșuat are un alt tratament și poate purta un corp obișnuit de eroare HTTP. Separați acel răspuns de predarea reușită când implementați sau citiți o urmă de proxy.

Articole similare