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 CONNECT HTTP-Methode fordert, dass ein Proxy einen HTTP-Tunnel zu einem Zielserver herstellt, und wenn erfolgreich, Daten in beide Richtungen blind weiterleitet, bis der Tunnel geschlossen wird.

Das Anforderungsziel ist bei dieser Methode einzigartig, da es nur aus dem Host und der Portnummer des Tunnelziels besteht, die durch einen Doppelpunkt getrennt sind (siehe Syntax für Details). Jeder 2XX erfolgreiche Antwortstatuscode bedeutet, dass der Proxy in den 'Tunnelmodus' wechselt und alle Daten im Erfolgsantwortkörper stammen von dem Server, der durch das Anforderungsziel identifiziert wird.

Wenn eine Website hinter einem Proxy steht und durch Netzwerkregeln erzwungen wird, dass der gesamte externe Datenverkehr über den Proxy laufen muss, ermöglicht die CONNECT-Methode Ihnen eine TLS (HTTPS) Verbindung mit dieser Website aufzubauen:

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

Abgesehen davon, dass ein sicherer Zugriff auf hinter Proxys liegende Websites ermöglicht wird, bietet ein HTTP-Tunnel eine Möglichkeit, den über das HTTP(S)-Protokoll eingeschränkten Verkehr (SSH oder FTP) zuzulassen.

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

Warnung: Wenn Sie einen Proxy betreiben, der CONNECT unterstützt, beschränken Sie dessen Nutzung auf eine Reihe von bekannten Ports oder eine konfigurierbare Liste sicherer Anforderungsziele. Es bestehen erhebliche Risiken beim Aufbau eines Tunnels zu beliebigen Servern, insbesondere wenn das Ziel ein bekannter oder reservierter TCP-Port ist, der nicht für Webdatenverkehr vorgesehen ist. Ein locker konfigurierter Proxy kann missbraucht werden, um Verkehr wie SMTP weiterzuleiten, um beispielsweise Spam-E-Mails zu senden.

Anforderung hat einen Körper Nein
Erfolgreiche Antwort hat einen Körper Nein
Sicher Nein
Idempotent Nein
Cache-fähig Nein
Erlaubt in HTML-Formularen 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 Dezimalnotation (z.B. 80, 443). Es gibt keinen Standardport, daher muss ein Client unbedingt einen angeben.

Beispiele

Proxy-Authentifizierung

Eine Anfrage an Proxy-Server, die zur Erstellung eines Tunnels eine Authentifizierung erfordern, sieht folgendermaßen aus. Weitere Informationen finden Sie im Proxy-Authorization-Header.

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