성공한 CONNECT 응답에는 HTTP 본문이 없다
성공한 HTTP/1.1 CONNECT 응답을 헤더 경계에서 끝내고, 그 다음에는 chunk 프레이밍이나 연결 재시작 없이 터널 바이트를 중계합니다.
성공한 HTTP/1.1 CONNECT 응답은 헤더 부분 뒤에서 끝납니다:
HTTP/1.1 200 Connection Established
그 경계 뒤에서는 같은 연결이 터널을 나릅니다. HTTPS 대상이면 클라이언트의 다음 바이트가 보통 대상과의 TLS 교환을 시작합니다.
프록시는 성공한 CONNECT 응답에 Transfer-Encoding이나 Content-Length를 추가해서는 안 됩니다. chunk로 나눌 HTTP 응답 본문이 없습니다. 빈 종료 chunk를 덧붙이면 오히려 새 터널에 바이트를 주입하게 됩니다.
클라이언트에도 요구 사항이 있습니다. 2xx CONNECT 응답에 그 프레이밍 필드가 나타나면 무시해야 합니다. 따라서 잘못된 송신자가 모든 준수 클라이언트가 분할 본문을 기다린다고 설명할 이유가 되지는 않습니다.
수립된 연결은 중계를 위해 열어 두십시오. 200 뒤에 닫으면 터널이 파괴됩니다. 다른 연결을 여는 것은 수락된 CONNECT 요청의 연속이 아닙니다.
실패한 CONNECT 응답은 처리가 다르며 일반 HTTP 오류 본문을 담을 수 있습니다. 프록시 추적을 구현하거나 읽을 때 그 응답을 성공한 인계와 분리하십시오.