Una resposta CONNECT HTTP/1.1 correcta acaba després de la seva secció de capçaleres:

HTTP/1.1 200 Connection Established

Després d'aquest límit, la mateixa connexió transporta el túnel. Per a una destinació HTTPS, els bytes següents del client normalment inicien l'intercanvi TLS amb la destinació.

El proxy no ha d'afegir Transfer-Encoding ni Content-Length a una resposta CONNECT correcta. No hi ha cap cos de resposta HTTP per dividir en chunks. Afegir un chunk final buit injectaria bytes dins del túnel nou.

El client també té un requisit: ha d'ignorar aquests camps de framing si apareixen en una resposta CONNECT 2xx. Per tant, un emissor mal format no és motiu per descriure tot client conforme com si esperés un cos fragmentat.

Manteniu la connexió establerta oberta per retransmetre. Tancar-la després de 200 destrueix el túnel; obrir una connexió diferent no és la continuació de la petició CONNECT acceptada.

Una resposta CONNECT fallida té un tractament diferent i pot portar un cos d'error HTTP normal. Separeu aquesta resposta del lliurament correcte quan implementeu o llegiu una traça de proxy.

Articles relacionats