Il existe de nombreux types de serveurs proxy. Ces types peuvent être regroupés par protocole, nombre d'utilisateurs actifs (proxys partagés, procurations privées, et procurations vierges), le type d'adresse IP attribuée (proxys publics ou gratuits, procurations résidentielles, proxys mobiles, et proxys de centre de données), et la version IP (Proxy IPv4 et IPv6). Cependant, cet article se concentrera sur les proxys HTTP et HTTPS, qui relèvent de la catégorie proxy par protocole.
Mais d’abord, parlons des protocoles sur lesquels sont basés les proxys HTTP et HTTPS.
Comprendre HTTP et HTTPS
Qu’est-ce que HTTP ?
Le protocole de transfert hypertexte ou HTTP est un protocole sans état au niveau de l'application qui facilite la communication entre les applications clientes (telles que les navigateurs Web et les applications Web) et les serveurs Web (ou serveurs d'interface utilisateur Web).
Il s'agit d'un protocole de couche 7 (ou protocole de couche application), ce qui signifie qu'il est destiné à transmettre des données entre le serveur et le client et vice versa. HTTP prend généralement en charge la transmission de divers types de données. Il s'agit notamment de données textuelles, vidéo et audio, collectivement appelées hypermédia.
Lorsqu'un client souhaite accéder à ces données stockées sur un serveur, il envoie une requête HTTP. Généralement, la requête HTTP contient les éléments suivants :
- Une ligne de requête qui spécifie la méthode HTTP (GET, POST, PUT, DELETE, etc.), la version HTTP (ci-dessous) et des informations supplémentaires sur la cible de la requête (nom d'hôte et port)
- En-têtes, qui stockent des informations supplémentaires, par exemple des cookies
- Corps du message de demande
Dès réception de la requête et interprétation du message, le serveur envoie ensuite une réponse HTTP contenant les données demandées.
Comment fonctionne HTTP ?
Il convient de souligner que HTTP ne remplit pas ses fonctions de manière isolée. En fait, il fonctionne au-dessus protocoles de couche transport (couche 4), comme Protocole de contrôle de transmission (TCP) et Protocole de datagramme utilisateur (UDP). De plus, il a également été construit sur le protocole IP qui existait à l’époque.
De leur côté, ces protocoles de couche 4 établissent, gèrent et ferment la communication entre un serveur et un client (appareils en réseau). Pour faire simple, TCP et UDP permettent aux applications réseau situées au-dessus de la quatrième couche (y compris les applications utilisant HTTP) de créer une communication client-serveur ou point à point entre elles.
Une fois la communication établie, HTTP entre désormais en action pour transmettre les données. Le TCP ou l'UDP gère la communication en garantissant son bon déroulement, et une fois la transmission des données terminée, ces protocoles de couche 4 ferment la communication. Notamment, TCP et UDP utilisent des numéros de port pour identifier les applications Web qui « communiquent » entre elles. Un autre point à noter est que l'implémentation de HTTP/3, la dernière version, utilise QUIC au lieu de TCP pour l'aspect de la couche transport de la communication. (RAPIDE est un protocole de transport multiplexé implémenté sur UDP.)
Histoire du HTTP
HTTP a été lancé pour la première fois en 1991 après environ deux ans de développement par Tim Berners-Lee et son équipe. Depuis, le protocole a fait l'objet d'une évolution qui a connu de nombreux changements et améliorations, conduisant à plusieurs versions HTTP. Ces versions incluent :
- HTTP/0.9 (introduit en 1991)
- HTTP/1.0 (normalisé en 1996)
- HTTP/1.1 (introduit et standardisé en 1997)
- HTTP/2 (normalisé en 2015)
- HTTP/3 (introduit en 2022)
Qu’est-ce que le HTTPS ?
Bien que HTTP soit un protocole populaire largement utilisé sur Internet, il présente quelques lacunes, notamment en matière de sécurité. Avec HTTP, toutes les informations sont transmises en texte clair. Il peut donc être facilement visualisé par les attaquants. Il peut en fait être préoccupant si les données contiennent des données sensibles telles que des informations de carte de crédit, des mots de passe, des noms d'utilisateur, des numéros de téléphone, des numéros de sécurité sociale, des adresses, etc. Pour résoudre le problème de la sécurité, HTTPS a été introduit.
Hypertext Transfer Protocol Secure (HTTPS) est un protocole HTTP sécurisé qui crypte toutes les données transmises via HTTP. HTTPS utilise le protocole Secure Sockets Layer (SSL) ou Transport Layer Security (TLS) pour valider l'identité du serveur Web et protéger les données. Le SSL utilise des clés (clés publiques et privées) et des certificats numériques pour sécuriser les données, tandis que TLS s'appuie sur la cryptographie pour chiffrer les données. TLS authentifie également le client et le serveur.
Histoire du HTTPS
HTTPS a été créé en 1994. A cette époque, il utilisait principalement SSL. Cependant, plus tard en 2000, HTTPS utilisant TLS a été standardisé. Selon les observateurs, il a fallu des années pour que TLS soit largement utilisé en dehors des paiements par carte de crédit. Cela est notamment dû au fait que les certificats TLS nécessitent des connaissances techniques supplémentaires pour être installés et coûtent de l'argent. En conséquence, ils n’étaient pas réalisables, surtout pour les petits sites. Mais le paysage a changé, avec des services d'hébergement Web et des sociétés de cloud computing qui lancent des programmes de certificats de cryptage gratuits et proposent HTTPS gratuitement. D'ici 2017, la moitié du Web était cryptée.
Une fois les bases réglées, concentrons-nous maintenant sur ce qu'est un proxy HTTP et ce qu'est un proxy HTTPS, leurs similitudes et différences, ainsi que leurs utilisations.
Qu'est-ce qu'un proxy HTTP ?
Avant d'expliquer ce qu'est un proxy HTTP, comprenons d'abord Qu'est-ce qu'un serveur proxy. Un serveur proxy ou proxy est un intermédiaire situé entre un client Web et un serveur Web. Il fonctionne en acheminant le trafic Internet à travers lui-même et, ce faisant, agit en tant qu'initiateur des requêtes et terminateur des réponses. Généralement, il existe un certain nombre de serveurs proxy, chacun étant conçu pour remplir une fonction spécifique.
En fait, il existe des proxys configurés pour agir au nom du client de telle sorte qu'ils sont perçus comme les initiateurs des demandes et les terminateurs des réponses. Ces proxys sont appelés proxys directs. En revanche, certains proxys peuvent être configurés pour agir au nom du serveur. En exécutant ce rôle, ils semblent être le point auquel les demandes se terminent et où les réponses proviennent. De tels proxys sont appelés proxys inverses. Par ailleurs, les proxys HTTP peuvent agir soit comme proxys directs, soit comme proxys inverses, en fonction de l'emplacement où la configuration a lieu.
Alors, qu’est-ce qu’un serveur proxy HTTP ? Il s'agit d'un serveur proxy qui achemine uniquement le trafic HTTP via lui-même. Le proxy HTTP est un type de proxy basé sur un protocole aux côtés Procurations SOCKS5. Cependant, contrairement au proxy SOCKS5, qui est essentiellement destiné à faciliter la communication à travers un pare-feu, le proxy HTTP est destiné à agir comme un filtre de contenu performant.
Le proxy HTTP écoute normalement le trafic HTTP via les ports 80, 8080, 8008 et 3128. Il peut également écouter le trafic HTTPS via port 3129. Bien qu'il soit principalement utilisé de manière isolée, vous pouvez le connecter à un proxy existant, notamment si l'application que vous configurez utilise déjà un serveur proxy. Cet arrangement crée un proxy chaîné.
Types de proxys HTTP
Il existe deux types de proxys HTTP, à savoir :
1. Proxy client HTTP
En règle générale, un proxy client HTTP se transmet les demandes à lui-même (en tant qu'intermédiaire) avant de les transmettre à un serveur ou à une destination cible. Il apparaît donc comme l'initiateur des demandes.
Un proxy client HTTP achemine toutes les requêtes HTTP sortantes et les réponses HTTP entrantes via lui-même. Ce faisant, il interprète tout le contenu de la requête et de la réponse HTTP. Il peut également modifier certains contenus de la requête HTTP à condition qu'ils soient conformes aux Lignes directrices pour les proxys de transformation de contenu Web. Généralement, les proxys clients HTTP modifient les en-têtes HTTP spécifiques, notamment user-agent, accept, accept-charset, accept-encoding, accept-language, x-forwarded-for et via. Il peut également convertir la méthode de requête de HEAD en GET et vice versa.
La configuration de votre système et, par extension, de votre navigateur Web pour utiliser un proxy client HTTP (plus d'informations ci-dessous) fait plusieurs choses. Tout d'abord, il remplace le point de terminaison TCP (port et nom d'hôte) dans les URL HTTP par celui qui appartient au fournisseur proxy HTTP. Par conséquent, une connexion TCP est d'abord établie vers un port et un hôte différents (le port et l'hôte du proxy) autres que ceux indiqués dans les URL HTTP avant d'être envoyée à l'hôte et au port d'origine/réels. En effet, le proxy ne modifie pas le contenu du message, qui contient le véritable hôte et le port. En conséquence, un proxy HTTP peut recevoir des requêtes sur un seul port avant de transmettre ensuite les requêtes et les messages qu'elles contiennent à différents serveurs et sites Web en fonction des données de destination contenues dans les messages HTTP.
2. Proxy du serveur HTTP
Dans certains cas, certaines applications, telles que celles trouvées sur un serveur Web, ne peuvent pas être configurées en tant qu'expéditeurs et doivent plutôt être configurées en tant que points de terminaison. De ce fait, ils apparaissent aux clients web comme destination des requêtes. Lorsque ces applications sont configurées en tant que points de terminaison, elles sont appelées proxys de serveur HTTP.
Types de proxys HTTP classés par anonymat
Les proxys HTTP diffèrent par le degré d'anonymat. Les types de proxy HTTP suivants peuvent être distingués :
- Procurations transparentes: Avec les proxys transparents, l'utilisateur ne remarque généralement pas qu'il utilise une connexion proxy. La connexion proxy n'est visible que par l'opérateur du site Web ou le fournisseur de services. Le principal avantage des proxys transparents est qu’ils augmentent la vitesse de connexion en mettant les données en cache.
- Procurations anonymes: Avec les proxys anonymes, votre adresse IP est masquée. Dans ce cas, le site Web cible peut voir que vous utilisez un proxy, mais pas votre adresse IP réelle.
- Déformer les proxys: Un serveur proxy de ce type peut être identifié comme proxy par un site web cible, mais communiquera une adresse IP incorrecte.
- Procurations d'élite: Il s'agit de proxys anonymes qui suppriment les données utilisateur avant que le proxy ne tente de se connecter au site Web cible. Avec ces types de proxys, le site Web cible ne peut pas détecter qu'un proxy est utilisé, ni identifier l'adresse IP de l'utilisateur.
Tous réputés fournisseurs de proxy qui ont des proxys HTTP n'offrent que des proxys d'élite.
Comment configurer un proxy HTTP
Cette section se concentrera principalement sur la façon de créer un proxy client HTTP. Il est créé en configurant un client Web (navigateur) pour acheminer le trafic HTTP via un intermédiaire. Cependant, il convient de noter que Chrome, Safaris, Mozilla Firefox, et d'autres navigateurs populaires n'ont pas de paramètres de serveur proxy (natifs) intégrés à l'application.
Au lieu de cela, lorsque vous cliquez sur les paramètres du programme et choisissez l'option proxy, il vous redirige vers la fenêtre de configuration du proxy Windows, macOS ou Linux. À cet égard, pour créer un proxy HTTP, configurez simplement votre système d'exploitation. Cela créera un proxy HTTP à l'échelle du système qui fonctionne avec toutes les autres applications Web, pas seulement votre navigateur préféré.
Pour configurer un proxy HTTP sous Windows, suivez la procédure ci-dessous :
- Ouvre les fenêtres' Paramètres > Sélectionnez Réseau & Internet > Choisissez le en Allemagne languette. Vous pouvez également utiliser votre navigateur pour ouvrir l'onglet Proxy.
- Dirigez-vous vers le Configuration manuelle du proxy section
- Dans le champ d'adresse, saisissez l'adresse IP ou l'adresse de l'hôte proxy. De plus, entrez le port proxy. Votre fournisseur de proxy devrait vous fournir les détails.
- Dans la case « Utiliser le serveur proxy, sauf pour les adresses commençant par les entrées suivantes », saisissez l'URL de votre fournisseur de services proxy.
- Ensuite, vérifiez le N'utilisez pas le serveur proxy pour les adresses locales (intranet)
- Cliquez sur Sauvegarder
Pour mettre en place un proxy HTTP sur macOS, voici les étapes à suivre :
- Cliquez sur Préférences de système > Choisissez Réseau > Cliquez sur Avancé > Sélectionnez le Procurations languette. Alternativement, vous pouvez utiliser votre client Web, qui ouvrira automatiquement le Procurations languette
- Ensuite, basculez le Proxy Web (HTTP) option
- Entrez l'adresse IP et le port du Proxy du serveur Web (Http proxy). En règle générale, vous devez saisir l'adresse IP de votre fournisseur de services proxy et saisir les ports 80, 8080 ou 8008 dans le champ.
- Saisissez le nom d'utilisateur et le mot de passe du proxy HTTP. Le nom d'utilisateur et le mot de passe doivent être les mêmes que les informations d'identification que vous utilisez pour accéder au compte que vous possédez auprès de votre fournisseur de services.
- Cliquez sur D'ACCORD.
Si la sécurité est une considération centrale lors de la navigation sur le Web, alors le proxy HTTP n'est pas idéal. Idéalement, vous recherchez un proxy HTTPS.
Qu'est-ce qu'un proxy HTTPS ?
Également appelé proxy SSL, un proxy HTTPS est un intermédiaire qui n'écoute que le trafic HTTPS sur le port 443. Par conséquent, il achemine uniquement le trafic HTTPS via lui-même. Comme indiqué ci-dessus, HTTPS crypte les données transmises via le protocole. Cela signifie effectivement que tous les éléments des requêtes et réponses HTTP, y compris les en-têtes et les messages, sont cachés derrière une clé cryptographique. Par conséquent, ils ne peuvent être visualisés ou interprétés qu’au point final ou au point de terminaison. Pour qu'un intermédiaire, tel qu'un proxy HTTPS, puisse interpréter les données, il doit être configuré en tant que point de terminaison.
À cet égard, un proxy HTTPS est configuré pour agir comme point de terminaison d'une connexion TLS ou SSL. Il décrypte donc les requêtes, interprète le contenu, modifie certains aspects des requêtes, les crypte et, enfin, les transmet à la véritable destination contenue dans le message HTTP. Comme indiqué précédemment, le protocole HTTPS utilise des certificats. En conséquence, le proxy HTTPS doit chiffrer le trafic avec le certificat correct (certificat client ou serveur) avant de l'envoyer à la destination prévue. Notamment, si le proxy HTTPS n'est pas configuré en tant que point de terminaison, il ne doit pas modifier le contenu de l'en-tête ou de la requête HTTP, comme le stipule les directives pour les proxys de transformation de contenu Web.
Les proxys HTTPS sont généralement utilisés pour sécuriser les serveurs Web ou les clients Web en effectuant un chiffrement.
Types de proxy HTTPS
Il existe deux types de proxy HTTPS :
1. Proxy client HTTPS
Un proxy client HTTPS facilite les connexions d'un client Web ou d'un réseau interne à Internet. Pour configurer un proxy client HTTPS, vous devez importer un certificat client à utiliser par l'appareil sur lequel le proxy est installé. Cela permet à l'intermédiaire de déchiffrer et de chiffrer les données comme s'il était l'initiateur des requêtes ou le terminateur des réponses.
2. Proxy du serveur HTTPS
Un serveur proxy HTTPS permet les connexions de clients Web externes aux serveurs Web internes via Internet. Un serveur proxy HTTPS diffère d'un serveur proxy HTTP car le premier utilise des certificats, tandis que le second ne le fait pas. Pour configurer un serveur proxy HTTPS, il est important d'exporter le certificat par défaut utilisé par votre serveur Web vers le proxy. Le certificat permet au proxy du serveur HTTPS de crypter et de déchiffrer les données.
Comment configurer un proxy HTTPS
La configuration d'un proxy HTTPS suit les procédures détaillées ci-dessus, avec seulement de légères différences autour des ports utilisés. Assurez-vous toujours d'avoir saisi 443 dans le champ du port chaque fois que vous créez un proxy HTTPS. Si vous utilisez un appareil macOS, notez que vous devez sélectionner le Proxy Web sécurisé (HTTPS) option au lieu de Proxy Web (HTTP). Sinon, la procédure est sensiblement la même.
Dans quelle mesure une connexion via un proxy HTTPS est-elle sécurisée ?
Lorsqu'un utilisateur utilisant un proxy HTTPS ouvre une page web avec une « icône de verrouillage » à gauche de la barre d'adresse, toute la connexion entre le navigateur de l'utilisateur et le serveur du site cible est cryptée (cryptage SSL) :
Cela signifie que toutes les données saisies par l'utilisateur au clavier (identifiants et mots de passe, numéros de carte de crédit, etc.), les images et vidéos téléchargées, mises en ligne ou diffusées restent absolument privées.
Navigateur <- > Proxy HTTPS <-> Page cible
Cela signifie qu’ils ne sont connus que de l’utilisateur et du propriétaire du site Web cible.
Le service proxy peut-il « écouter » le trafic ?
Non, c'est techniquement impossible. Le fournisseur proxy ne peut que deviner que l'utilisateur essaie de pirater les mots de passe des comptes sur n'importe quel site Web. Cela ressort de la fréquence d’accès à la page de connexion du site cible. Cela se produira si l'utilisateur le fait à une fréquence d'un million de fois par minute à l'aide d'un programme de force brute.
Proxies HTTP et proxys HTTPS : similitudes et différences
Similitudes entre les proxys HTTP et HTTPS
- Ils peuvent être configurés côté client ou côté serveur
- Les proxys HTTP et HTTPS interprètent les données transmises via eux
- Les proxys écoutent le trafic via les ports
- Les proxys côté client transmettent toutes les demandes à la destination cible
- Des proxys côté client peuvent être utilisés pour faciliter le web scraping
Différences entre les proxys HTTP et HTTPS
Proxy HTTP | Proxy HTTPS | |
Ports | Ils utilisent les ports 80, 8080, 8008, 3128 ou 3129 | Ils utilisent le port 443 |
Sécurité | Les proxys HTTP acheminent les données non chiffrées | Les proxys HTTPS acheminent les données chiffrées |
Protocole | Ils utilisent principalement le protocole HTTP | Ils utilisent principalement le protocole HTTPS |
Trafic | Ils peuvent écouter à la fois le trafic HTTP (via les ports 80, 8080, 8008, 3128) et HTTPS (via le port 3129). | Ils ne peuvent écouter le trafic HTTPS que via le port 443 |
Utilisations des proxys HTTP et HTTPS
Utilisations des proxys clients HTTP et des proxys clients HTTPS
1. Grattage Web
Scrapage Web fait référence au processus automatisé d’extraction de données de sites Web à l’aide de robots appelés web scrapers. Habituellement, ces robots sont conçus pour extraire de gros volumes de données, ce qui peut mettre à rude épreuve les serveurs Web en usurpant inutilement les ressources. Pour cette raison, la plupart des grands sites Web mettent désormais en œuvre des mesures anti-scraping visant à arrêter tout effort d'extraction de données. Heureusement, vous pouvez contourner ce problème en utilisant des proxys HTTP.
Les proxys HTTP sont pour la plupart négligés lorsqu'il s'agit d'extraction de données. En effet, les proxys résidentiels, les proxys mobiles ou les proxys de centre de données sont préférés car ils masquent l'adresse IP de l'ordinateur sur lequel le scraper est exécuté. Il attribue simultanément une adresse IP différente, garantissant ainsi l'anonymat en ligne. De plus, il protège la véritable adresse IP contre le blocage ou l’interdiction. Si l'adresse IP change périodiquement, les risques de blocage sont encore réduits. Mais cet article ne concerne pas les proxys résidentiels ou de centres de données. Alors, comment les proxys HTTP et les proxys HTTPS sont-ils utilisés dans le web scraping ?
Comme indiqué, un proxy HTTP ou HTTPS peut modifier certains en-têtes de requête HTTP. Ceux-ci incluent l'agent utilisateur, l'acceptation du langage, l'acceptation de l'encodage et l'acceptation, pour n'en citer que quelques-uns. L'agent utilisateur stocke des informations sur votre système d'exploitation (type et version), l'application client utilisée (navigateur Web) et le moteur du navigateur. Ces informations permettent à un serveur Web d'identifier le type d'appareil et le logiciel utilisé pour y accéder. Il utilise ensuite ces informations pour créer une identité en ligne associée à l'utilisateur. En modifiant l'agent utilisateur, un proxy HTTP et un proxy HTTPS peuvent donner l'impression que les requêtes proviennent de différents appareils. Cela stimule le web scraping, car les demandes d’extraction de données semblent avoir été envoyées par plusieurs appareils.
2. Filtrage de contenu
Un proxy client HTTP ou un proxy client HTTPS peut être configuré pour transférer uniquement des requêtes spécifiques – ces requêtes doivent respecter certaines règles. Par exemple, ils doivent être envoyés via des ports spécifiés. L'accès est refusé si le client HTTP utilise un port autre que 80, 8080, 8008, 3128 ou 3129.
De plus, vous devez spécifier les types de contenu que le proxy HTTPS ou HTTP doit examiner lorsqu'il examine le trafic vers et depuis un client. Le trafic est bloqué si le contenu ne correspond pas aux critères spécifiés dans les paramètres. A l’inverse, si le contenu correspond, alors il est autorisé à passer par l’intermédiaire.
3. Sécurisation des communications
Un proxy HTTP peut être configuré pour convertir les données entrantes du texte brut en données sortantes sécurisées et cryptées pouvant être acceptées par les serveurs HTTPS. Cependant, cette configuration est inhabituelle, mais elle implique l'utilisation du port 3130, qui est le port qui gère la communication texte brut vers SSL.
D’un autre côté, les proxys HTTPS sécurisent la communication en la chiffrant. De cette manière, les proxys HTTPS favorisent la cybersécurité, car ils réduisent les risques de cyberattaques.
4. Gestion des médias sociaux
Il est désormais de notoriété publique que les proxys HTTP modifient certains aspects de l'en-tête HTTP. Ainsi, en changeant d’user-agent, ces intermédiaires peuvent créer l’illusion que les requêtes proviennent de différents appareils. Cela peut permettre aux utilisateurs de créer et de gérer plusieurs comptes de réseaux sociaux.
Utilisations des proxys de serveur HTTP et des proxys de serveur HTTPS
1. Limiter le trafic vers le serveur Web
Les proxys côté serveur peuvent être configurés pour accepter le trafic qui répond à certaines règles. Ainsi, ils bloquent le trafic non conforme aux exigences. De cette façon, ils protègent le serveur en s’assurant qu’il ne traite pas de requêtes inutiles.
2. Sécuriser le serveur Web
Les proxys côté serveur peuvent décrypter les données des clients Web et les interpréter ensuite. Cette action leur permet de filtrer les demandes, en les analysant à la recherche de logiciels malveillants ou d'autres fichiers malveillants. Ils protègent ainsi le serveur Web contre les cyberattaques.
3. Mise en cache des fichiers fréquemment consultés
Les proxys de serveur HTTP et les proxys de serveur HTTPS peuvent stocker des fichiers fréquemment consultés tels que des images et des pages. Cela libère le serveur Web, lui permettant de consacrer des ressources à d'autres opérations moins courantes. Cela augmente également la vitesse de chargement des pages Web.
Conclusion
Les proxys HTTP et les proxys HTTPS sont des intermédiaires utiles, notamment du point de vue de la sécurité et du filtrage de contenu. En fait, on les appelle des filtres de contenu hautes performances. En effet, ils peuvent être configurés pour autoriser uniquement le passage d’un trafic Internet spécifique. Ces proxys remplissent également de nombreuses autres fonctions, notamment la sécurisation des serveurs Web, le stockage des fichiers fréquemment consultés, la gestion des réseaux sociaux, le web scraping, etc.