Eine erfolgreiche CONNECT-Antwort hat keinen HTTP-Body
Beenden Sie eine erfolgreiche HTTP/1.1-CONNECT-Antwort an der Header-Grenze und leiten Sie danach Tunnelbytes ohne Chunk-Framing und ohne Neustart der Verbindung weiter.
Eine erfolgreiche HTTP/1.1-CONNECT-Antwort endet nach ihrem Header-Abschnitt:
HTTP/1.1 200 Connection Established
Nach dieser Grenze trägt dieselbe Verbindung den Tunnel. Bei einem HTTPS-Ziel beginnen die nächsten Client-Bytes normalerweise den TLS-Austausch mit dem Ziel.
Der Proxy darf einer erfolgreichen CONNECT-Antwort weder Transfer-Encoding noch Content-Length hinzufügen. Es gibt keinen HTTP-Antwortbody, der in Chunks aufgeteilt würde. Ein leeres abschließendes Chunk würde stattdessen Bytes in den neuen Tunnel einspeisen.
Auch der Client hat eine Anforderung: Er muss diese Framing-Felder ignorieren, wenn sie in einer 2xx-CONNECT-Antwort auftauchen. Ein fehlerhafter Absender ist daher kein Grund, jeden korrekten Client so zu beschreiben, als warte er auf einen aufgeteilten Body.
Halten Sie die aufgebaute Verbindung zum Weiterleiten offen. Sie nach 200 zu schließen zerstört den Tunnel; eine andere Verbindung zu öffnen ist keine Fortsetzung der angenommenen CONNECT-Anfrage.
Eine fehlgeschlagene CONNECT-Antwort wird anders behandelt und kann einen gewöhnlichen HTTP-Fehlerbody tragen. Trennen Sie diese Antwort bei der Umsetzung oder beim Lesen eines Proxy-Trace von der erfolgreichen Übergabe.