Unha resposta CONNECT HTTP/1.1 correcta remata despois da súa sección de cabeceiras:

HTTP/1.1 200 Connection Established

Tras ese límite, a mesma conexión transporta o túnel. Para un destino HTTPS, os seguintes bytes do cliente normalmente inician o intercambio TLS co destino.

O proxy non debe engadir Transfer-Encoding nin Content-Length a unha resposta CONNECT correcta. Non hai ningún corpo de resposta HTTP que dividir en chunks. Engadir un chunk final baleiro inxectaría bytes dentro do túnel novo.

O cliente tamén ten un requisito: debe ignorar eses campos de framing se aparecen nunha resposta CONNECT 2xx. Polo tanto, un emisor mal formado non é motivo para describir todo cliente conforme como agardando un corpo fragmentado.

Manteña aberta a conexión establecida para retransmitir. Pechala despois de 200 destrúe o túnel; abrir outra conexión non é a continuación da petición CONNECT aceptada.

Unha resposta CONNECT fallida ten un tratamento distinto e pode levar un corpo de erro HTTP ordinario. Separe esa resposta da entrega correcta ao implementar ou ler unha traza de proxy.

Artigos relacionados