Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

CONNECT request method

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

Die HTTP-Methode CONNECT fordert einen Proxy auf, einen HTTP-Tunnel zu einem Zielserver aufzubauen und bei Erfolg Daten in beide Richtungen unverändert weiterzuleiten, bis der Tunnel geschlossen wird.

Das Anfrageziel ist bei dieser Methode einzigartig: Es besteht nur aus dem Host und der Portnummer des Tunnelziels, getrennt durch einen Doppelpunkt (Einzelheiten finden Sie unter Syntax). Jeder 2XX-Erfolgsstatuscode bedeutet, dass der Proxy in den „Tunnelmodus“ wechselt. Alle Daten im Body der erfolgreichen Antwort stammen von dem Server, der durch das Anfrageziel angegeben wird.

Wenn sich eine Website hinter einem Proxy befindet und Netzwerkregeln vorschreiben, dass der gesamte externe Datenverkehr über den Proxy laufen muss, können Sie mit der Methode CONNECT eine TLS-Verbindung (HTTPS) zu dieser Website herstellen:

  • Der Client fordert den Proxy auf, die TCP-Verbindung zum gewünschten Ziel zu tunneln.
  • Der Proxyserver stellt im Auftrag des Clients eine sichere Verbindung zum Server her.
  • Sobald die Verbindung hergestellt ist, leitet der Proxyserver den TCP-Datenstrom weiterhin vom und zum Client weiter.

Ein HTTP-Tunnel ermöglicht nicht nur den sicheren Zugriff auf Websites hinter Proxys, sondern auch die Übertragung von Datenverkehr, der andernfalls eingeschränkt wäre (etwa SSH oder FTP), über das HTTP(S)-Protokoll.

CONNECT ist eine Hop-by-Hop-Methode. Das bedeutet, dass Proxys die CONNECT-Anfrage nur weiterleiten, wenn sich vor dem Ursprungsserver ein weiterer eingehender Proxy befindet, da die meisten Ursprungsserver CONNECT nicht implementieren.

Warnung: Wenn Sie einen Proxy betreiben, der CONNECT unterstützt, beschränken Sie dessen Verwendung auf bekannte Ports oder eine konfigurierbare Liste sicherer Anfrageziele. Der Aufbau eines Tunnels zu beliebigen Servern birgt erhebliche Risiken, insbesondere wenn das Ziel ein bekannter oder reservierter TCP-Port ist, der nicht für Web-Datenverkehr vorgesehen ist. Ein zu großzügig konfigurierter Proxy könnte beispielsweise missbraucht werden, um SMTP-Datenverkehr weiterzuleiten und so Spam-E-Mails zu versenden.

Anfrage hat einen Body Nein
Erfolgreiche Antwort hat einen Body Nein
Sicher Nein
Idempotent Nein
Cachefähig Nein
In HTML-Formularen zulässig Nein

Syntax

http
CONNECT <host>:<port> HTTP/1.1
<host>

Ein Host, der ein registrierter Hostname (z. B. example.com) oder eine IP-Adresse (IPv4, IPv6) sein kann.

<port>

Eine Portnummer in Dezimalschreibweise (z. B. 80, 443). Es gibt keinen Standardport; ein Client muss daher eine Portnummer angeben.

Beispiele

Proxy-Authentifizierung

Eine Anfrage an einen Proxyserver, der für den Aufbau eines Tunnels eine Authentifizierung verlangt, sieht wie folgt aus. Weitere Informationen finden Sie unter dem Header Proxy-Authorization.

http
CONNECT server.example.com:80 HTTP/1.1
Host: server.example.com:80
Proxy-Authorization: basic aGVsbG86d29ybGQ=

Spezifikationen

Spezifikation
HTTP Semantics
# CONNECT

Browser-Kompatibilität

Siehe auch