Успешният отговор HTTP/1.1 CONNECT завършва след заглавната си част:

HTTP/1.1 200 Connection Established

След тази граница същата връзка носи тунела. За дестинация по HTTPS следващите байтове от клиента обикновено започват TLS обмена с дестинацията.

Проксито не бива да добавя Transfer-Encoding или Content-Length към успешен отговор CONNECT. Няма тяло на HTTP отговор, което да се разделя на chunk части. Добавянето на празен завършващ chunk вместо това би инжектирало байтове в новия тунел.

Клиентът също има изискване: трябва да игнорира тези полета за рамкиране, ако се появят в отговор CONNECT от 2xx. Затова неправилно оформен изпращач не е причина всеки коректен клиент да бъде описван като чакащ тяло на части.

Дръжте установената връзка отворена за препредаване. Затварянето ѝ след 200 разрушава тунела; отварянето на друга връзка не е продължение на приетата заявка CONNECT.

Неуспешният отговор CONNECT се обработва различно и може да носи обикновено тяло на HTTP грешка. Отделяйте този отговор от успешното предаване, когато пишете или четете трасе на прокси.

Подобни статии