Un proxy HTTP est un serveur qui reçoit les requêtes HTTP d'un client, les transmet au serveur de destination et renvoie les réponses. Pour les sites HTTPS, le client utilise la méthode CONNECT pour ouvrir un tunnel à travers le proxy, qui relaie ensuite le trafic chiffré sans pouvoir le lire.

Un proxy HTTP peut lire et même modifier le trafic HTTP non chiffré qui le traverse, donc les données sensibles doivent circuler via HTTPS, où le proxy ne fait que tunneliser le trafic chiffré.

Comment un Proxy HTTP Gère une Requête

  1. Le client envoie sa requête au proxy au lieu du site web. Pour le HTTP simple, il utilise l'URL cible complète ; pour le HTTPS, il envoie une CONNECT host:443 requête.
  2. Si le proxy nécessite une connexion, le client ajoute un en-tête Proxy-Authorization.
  3. Pour le HTTP, le proxy transmet la requête à la destination. Pour CONNECT, il répond avec un statut 2xx et passe en mode tunnel.
  4. La réponse revient à travers le proxy au client.

Proxies HTTP Avancés, Inverses et Transparents

  • Proxy avancé : agit pour les clients et peut cacher leur identité des sites web. Les utilisateurs peuvent en configurer un pour masquer leur adresse IP lors de la navigation.
  • Proxy inverse : agit au nom des serveurs web, gérant des tâches telles que l'équilibrage de charge et la mise en cache de contenu statique.
  • Proxy transparent (interceptant) : placé dans le chemin du réseau, donc les clients ne le configurent pas et peuvent ne pas savoir qu'il est là.

Proxy HTTP vs. Proxy SOCKS5

Proxy HTTPProxy SOCKS5
Ce qu'il comprendRequêtes et réponses HTTPRien au-dessus de la couche de transport ; il relaie les données sans les lire comme HTTP
Trafic qu'il transporteTrafic web, avec HTTPS passé à travers un tunnel CONNECTTCP et UDP pour toute application qui prend en charge SOCKS
Peut ajouter des en-têtes tels que ViaOuiNon
Dans curlType par défaut lorsque le proxy n'a pas de schémaDéfini avec une socks5:// ou socks5h:// URL de proxy

Mise en Cache

Certains proxies HTTP stockent les réponses pour réduire le trafic quittant un réseau. MDN les appelle caches proxy, une sorte de cache partagé. Les sites marquent les réponses personnalisées avec Cache-Control: private afin que les caches partagés ne les stockent pas. Les réponses HTTPS passent généralement à travers un proxy dans un tunnel, donc dans de nombreux cas, le proxy ne peut pas les mettre en cache.

Ce Que Cela Signifie pour le Web Scraping

  • HTTP est souvent le par défaut : curl considère un proxy donné sans schéma, tel que proxy.example.com:8080, comme un proxy HTTP. Voir paramètres de proxy pour l'endroit où les clients stockent cela.
  • Les en-têtes peuvent révéler le proxy : les proxies peuvent ajouter un en-tête Via, et certains ajoutent X-Forwarded-For avec l'adresse IP d'origine du client. Vérifiez ce qu'un proxy envoie avant de compter sur lui pour cacher votre adresse.

Termes Connexes