Erklärt
Ein HTTP-Proxy ist der am häufigsten verwendete Proxy-Server-Typ. Er versteht HTTP auf der Anwendungsschicht: Wenn Ihr Client eine Anfrage sendet, kann der Proxy die URL, Header und (bei einfachem HTTP) den Body lesen, bevor er die Anfrage an das Ziel weiterleitet. Bei HTTPS verwendet der Proxy die CONNECT-Methode, um einen TCP-Tunnel zum Ziel aufzubauen, worüber er anschließend nur noch verschlüsselte Bytes weiterleitet, ohne den Inhalt einsehen zu können.
Die meisten kommerziellen Proxy-Dienste -- darunter Anbieter von Residential-, ISP- und Datacenter-Proxys -- stellen HTTP-Proxy-Endpunkte bereit, da jeder HTTP-Client und jede Bibliothek diese nativ unterstützt. Das Setzen der Umgebungsvariablen `HTTP_PROXY` und `HTTPS_PROXY`, die Übergabe von `proxies={...}` an Pythons `requests` oder die Konfiguration eines Launch-Flags in Playwright funktionieren alle sofort mit HTTP-Proxy-URLs wie `http://user:pass@gate.shifter.io:10000`.
Der Unterschied zwischen HTTP und SOCKS5 ist hauptsächlich architektonischer Natur. HTTP-Proxys arbeiten auf der Anwendungsschicht (können HTTP parsen); SOCKS5 arbeitet auf der Transportschicht (leitet lediglich TCP/UDP-Bytes weiter). Beim HTTPS-Scraping ist der Unterschied weitgehend kosmetischer Natur -- beide tunneln letztlich verschlüsselte Bytes -- und die HTTP-Proxy-Unterstützung ist über alle Tools hinweg universeller verfügbar.
So funktioniert es
Bei einfachem HTTP sendet der Client die vollständige Anfrage an den Proxy (`GET http://example.com/path HTTP/1.1` mit absoluter URL), der Proxy liest die URL, öffnet eine Verbindung zum Ziel, leitet die Anfrage weiter und gibt die Antwort zurück. Bei HTTPS sendet der Client zunächst eine `CONNECT example.com:443`-Anfrage an den Proxy, der Proxy öffnet einen TCP-Tunnel zum Ziel, und ab diesem Punkt kommunizieren Client und Server über TLS Ende-zu-Ende durch den Proxy, der lediglich verschlüsselte Bytes weiterleitet.
Die Authentifizierung erfolgt in der Regel über den `Proxy-Authorization`-Header (Basic-Auth mit Benutzername:Passwort) oder durch Kodierung der Anmeldedaten in der Proxy-URL (`http://user:pass@host:port`). Geo-Targeting- und Sitzungsparameter in kommerziellen Diensten werden typischerweise im Benutzernamen kodiert (`customer-USER-country-us-session-12345`).