CONNECT

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Die CONNECT HTTP-Methode fordert, dass ein Proxy einen HTTP-Tunnel zu einem Zielserver herstellt und, falls erfolgreich, Daten in beide Richtungen blind weiterleitet, bis der Tunnel geschlossen wird.

Das Ziel der Anfrage ist bei dieser Methode einzigartig, da es nur aus dem Host und der Portnummer des Tunnelziels besteht, getrennt durch einen Doppelpunkt (siehe Syntax für Details). Jeder 2XX Erfolgsstatuscode 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 es durch Netzwerkrichtlinien erzwungen wird, dass der gesamte externe Verkehr durch den Proxy gehen muss, ermöglicht die CONNECT-Methode Ihnen, eine TLS (HTTPS) Verbindung mit dieser Website herzustellen:

  • 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, setzt der Proxy-Server fort, den TCP-Datenstrom zum und vom Client zu übermitteln.

Abgesehen davon, dass sie einen sicheren Zugang zu hinter Proxys befindlichen Websites ermöglichen, bietet ein HTTP-Tunnel eine Möglichkeit, Verkehr zu erlauben, der sonst eingeschränkt wäre (z.B. SSH oder FTP) über das HTTP(S)-Protokoll.

CONNECT ist eine hop-by-hop Methode, was bedeutet, dass Proxys nur die CONNECT-Anfrage weiterleiten, wenn sich ein weiterer eingehender Proxy vor dem Ursprungsserver befindet, 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 bekannter 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 Webverkehr bestimmt ist. Ein schwach konfigurierter Proxy kann missbraucht werden, um Verkehr wie SMTP zu leiten, um zum Beispiel Spam-E-Mails zu versenden.

Anfrage hat einen Inhalt Nein
Erfolgreiche Antwort hat einen Inhalt Nein
Sicher Nein
Idempotent Nein
Cachefä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 Dezimalform (z.B. 80, 443). Es gibt keinen Standardport, daher muss ein Client einen senden.

Beispiele

Proxy-Autorisierung

Eine Anfrage für Proxys, die eine Autorisierung erfordern, um einen Tunnel zu erstellen, sieht wie folgt aus. Sehen Sie sich den Proxy-Authorization Header für weitere Informationen an.

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

Spezifikationen

Specification
HTTP Semantics
# CONNECT

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch