Qu'est-ce qu'un en-tête HTTP ?

Un en-tête HTTP est un élément de métadonnées envoyé avec chaque requête et réponse Web ; il contient des informations essentielles sur la connexion, notamment les détails du proxy, les identifiants d'authentification et les instructions de routage. Pour les utilisateurs de proxy, ce sont les en-têtes qui permettent aux connexions de fonctionner : ils indiquent aux serveurs d'où proviennent les requêtes, comment les traiter et quelle infrastructure de proxy les a traitées.

Lorsque vous acheminez le trafic via un service proxy, les en-têtes HTTP deviennent les acteurs invisibles qui gèrent votre connexion. Chaque requête émise par votre application transite par l'infrastructure proxy, et ce sont les en-têtes qui rendent ce parcours possible et sécurisé.

Considérez les en-têtes comme le mode d'emploi joint à chaque donnée transitant sur Internet. Lorsque votre scraper, votre bot ou votre application envoie une requête via des proxys, il ne se contente pas d'envoyer l'URL à laquelle vous souhaitez accéder. Il transmet également des informations contextuelles : des jetons d’authentification prouvant que vous êtes un utilisateur autorisé, des chaînes User-Agent qui confèrent à vos requêtes un caractère légitime, ainsi que des détails techniques sur le type de réponse que vous attendez.

Du côté du proxy, les en-têtes jouent un rôle encore plus important. Ils contiennent des informations indiquant quel serveur proxy traité votre requête, que le contenu provienne du cache ou du serveur d'origine, et quel chemin votre trafic a emprunté au sein du réseau. Des en-têtes tels que « X-Forwarded-For » conservent votre adresse IP d'origine (ou la masquent, selon la configuration), tandis que les en-têtes « Via » indiquent que votre requête est passée par une infrastructure de proxy.

Pour les utilisateurs de web scraping, les en-têtes revêtent une importance particulière. Les sites cibles utilisent les en-têtes pour détecter les bots et les scrapers : ils analysent votre User-Agent pour vérifier si vous êtes bien un navigateur, examinent les en-têtes Accept pour s'assurer que vous demandez du contenu comme le ferait un véritable visiteur, et étudient des dizaines d'autres modèles d'en-têtes. Les proxys résidentiels et de centre de données vous aident à envoyer les en-têtes appropriés pour vous fondre dans la masse, mais comprendre le rôle de ces en-têtes vous permet d’affiner vos opérations de scraping.

Les en-têtes permettent également de gérer l'authentification auprès des services proxy. Votre clé API ou votre jeton d'authentification est transmis via un en-tête « Authorization » (ou parfois un en-tête personnalisé tel que « Proxy-Authorization »). C'est ainsi que l'infrastructure proxy sait quel compte facturer, quel pool de serveurs proxy auxquels vous avez accès, ainsi que les limites de débit applicables à vos requêtes. Si vous vous trompez dans les en-têtes, vos requêtes ne seront pas authentifiées. Si vous les remplissez correctement, vous bénéficierez d'un accès sans interruption aux réseaux de proxys mondiaux.

En-têtes essentiels pour les utilisateurs de proxy

En-têtes d'authentification et d'autorisation

Autorisation par proxy: Voici comment vous authentifier avec des services de proxy. Il contient vos identifiants (nom d'utilisateur et mot de passe ou jeton API) dans un format tel que Encodage Base64 de base (nom d'utilisateur : mot de passe). Toute requête passant par un proxy doit comporter un en-tête « Proxy-Authorization » valide, faute de quoi elle sera rejetée. Cet en-tête est distinct de l'en-tête « Authorization », qui sert à l'authentification auprès du site web de destination.

Autorisation: Utilisé pour s'authentifier auprès du site web cible auquel vous accédez via des proxys. Cet en-tête traverse l'infrastructure proxy sans être modifié et parvient jusqu'au serveur de destination. Couramment utilisé dans le cadre du scraping d'API, où vous devez accéder à des ressources nécessitant une authentification points d'extrémité—Les serveurs proxy gèrent la connexion, tandis que votre en-tête « Authorization » se charge de l'authentification auprès du site de destination.

Routage par proxy et en-têtes d'identification

X-Forwarded-For: Enregistre la chaîne d'adresses IP ayant traité une requête. Lorsque vous utilisez des proxys, cet en-tête peut contenir votre adresse IP d'origine, celle du proxy, ou être configuré pour n'afficher que l'adresse IP que vous souhaitez que le site cible voie. Les services de proxy proposent des configurations permettant soit de supprimer cet en-tête (pour un anonymat maximal), soit de le conserver (lorsque vous avez besoin d’une géolocalisation précise). Il est essentiel de bien comprendre le fonctionnement de l’en-tête X-Forwarded-For pour déterminer pourquoi les sites cibles peuvent voir certaines adresses IP.

X-Real-IP: Une alternative plus simple à l'en-tête « X-Forwarded-For », qui ne contient qu'une seule adresse IP. Certaines configurations l'utilisent pour transmettre votre adresse IP d'origine au serveur de destination, tandis que d'autres l'utilisent en interne au sein de l'infrastructure de proxy à des fins de routage et d'analyse. Vous pouvez choisir d'envoyer cet en-tête aux sites de destination ou de le conserver en interne.

Via: Ajouté automatiquement par les serveurs proxy pour indiquer que la requête est passée par un proxy. Cet en-tête révèle qu'un proxy a été utilisé, c'est pourquoi certaines configurations « furtives » le suppriment avant de transférer les requêtes. Si vous constatez des blocages et que des en-têtes « Via » sont présents, envisagez d'utiliser proxys résidentiels avec suppression de l'en-tête Via.

X-Forwarded-Proto: Indique si la requête d'origine utilisait le protocole HTTP ou HTTPS. Cet élément est important lorsque les proxys gèrent la résiliation SSL : même si votre connexion au proxy est en HTTPS, cet en-tête indique au serveur de destination quel protocole vous aviez initialement prévu d'utiliser. Cela permet d'éviter les boucles de redirection et les problèmes liés au contenu mixte.

Demander des en-têtes personnalisés

User-Agent: L'en-tête le plus scruté dans le domaine du web scraping. Les sites cibles vérifient cet en-tête pour identifier le navigateur ou l'application à l'origine des requêtes. Un en-tête User-Agent manquant ou suspect constitue un signal d'alerte. Les services de proxy peuvent faire tourner automatiquement les en-têtes User-Agent, ou vous pouvez en fournir des personnalisés. Bonnes pratiques : utilisez des en-têtes User-Agent correspondant à des navigateurs réels sur votre marché cible. Effectuer un scraping sur Google avec un en-tête User-Agent « Chrome » sous Windows 10 semble normal ; l’utilisation de Python-requests/2.28.0 crie « bot » à plein poumons.

Accept et Accept-Language: Les véritables navigateurs envoient des en-têtes « Accept » détaillés répertoriant les types de contenu qu’ils prennent en charge (HTML, images, JSON, etc.) ainsi qu’un en-tête « Accept-Language » indiquant les langues préférées. Les robots de scraping omettent souvent ces en-têtes ou utilisent des valeurs génériques, ce qui les rend faciles à détecter. Lorsque vous utilisez des proxys pour le scraping, envoyez des en-têtes « Accept » complets et réalistes. De nombreux services de proxy fournissent des modèles d’en-têtes basés sur les configurations courantes des navigateurs.

Référent: Indique au serveur cible la page d'où vous venez. De nombreux sites web vérifient cette information afin d'empêcher les liens directs (hotlinking) ou l'accès direct à certaines pages. Lorsque vous effectuez du scraping à l'aide de proxys, la configuration d'en-têtes Referer appropriés permet de donner à votre trafic l'apparence d'une navigation naturelle. Par exemple, si vous effectuez du scraping sur des pages de produits, l'en-tête Referer doit pointer vers la page de catégorie ou les résultats de recherche.

Cookie: Indispensable pour maintenir les sessions lors du scraping de zones nécessitant une connexion ou face à des systèmes anti-bot qui s'appuient sur les cookies. Les proxys transmettent les en-têtes de cookies de manière transparente, mais c'est à vous qu'il incombe de gérer l'état des cookies dans votre application de scraping. Conseil de pro : certains systèmes anti-bot vous identifient en fonction de vos habitudes de gestion des cookies. Imiter le comportement des cookies d'un navigateur permet d'améliorer les taux de réussite.

En-têtes de réponse provenant des services proxy

X-Proxy-Cache: Un en-tête personnalisé courant indiquant si une réponse provient de cache ou a été récupérée en temps réel depuis la cible. Les valeurs peuvent être « HIT » (réponse mise en cache), « MISS » (récupération en temps réel) ou « BYPASS » (non mise en cache). Le suivi de ces données vous aide à comprendre les performances et à déterminer si vous atteignez les limites de débit en raison de requêtes non mises en cache.

X-Proxy-ID: Indique quel serveur proxy spécifique du réseau a traité votre requête. Utile pour le débogage : si vous rencontrez des problèmes avec certaines requêtes, cet en-tête vous permet d'établir un lien entre ces problèmes et des nœuds proxy spécifiques. Vous pouvez transmettre cette information aux équipes d'assistance afin d'accélérer le dépannage.

Limite de débit restante: Indique le nombre de requêtes qu'il vous reste avant d'atteindre votre limite de débit. Les fournisseurs de serveurs proxy mettent cette fonctionnalité en œuvre pour vous aider à gérer de manière proactive le volume de requêtes. Lorsque ce nombre devient faible, votre application peut ralentir ou attendre avant d'envoyer d'autres requêtes, ce qui évite que des échecs graves ne dépassent les limites fixées.

Cas d'usage

Suivi des prix dans le commerce électronique: Lorsque suivi des prix pratiqués par la concurrence via des proxys résidentiels, il est essentiel d'utiliser des en-têtes appropriés. Vous devrez définir des en-têtes User-Agent et Accept-Language réalistes, adaptés au marché cible, utiliser l'en-tête Referer pour simuler une navigation à partir des pages de catégories, et faire tourner ces en-têtes d'une requête à l'autre afin d'éviter l'identification par empreinte numérique. Les fonctionnalités de rotation des en-têtes permettent d'automatiser ce processus, en puisant dans un ensemble de configurations de navigateurs vérifiées.

Collecte de données sur les réseaux sociaux: Les plateformes telles qu’Instagram et Facebook examinent les en-têtes de très près. Vous aurez besoin de chaînes User-Agent parfaites, d’en-têtes Accept complets, d’un Accept-Encoding approprié (gzip, deflate) et d’une gestion des cookies efficace pour maintenir les sessions. Des adresses IP résidentielles associées à des en-têtes de type navigateur rendent votre automatisation impossible à distinguer de celle d’utilisateurs réels. L’en-tête Authorization transmet vos jetons API lorsque vous accédez à des API officielles via des proxys.

Suivi du classement SEO: Lorsque vérification du classement dans les moteurs de recherche Depuis différents emplacements à l'aide de proxys géolocalisés, les en-têtes déterminent les résultats qui s'affichent. Les en-têtes « Accept-Language » doivent correspondre au pays cible, l’en-tête « User-Agent » doit représenter les navigateurs courants dans cette région, et l’en-tête « X-Forwarded-For » (s’il n’est pas supprimé) doit correspondre à l’adresse IP résidentielle que vous utilisez. Une incohérence entre ces signaux peut déclencher Les défis CAPTCHA.

Vérification des annonces: Vérification de l'emplacement des publicités exige que vos requêtes correspondent exactement au trafic du public cible. Cela signifie que les en-têtes « User-Agent » doivent correspondre à des appareils spécifiques (Safari mobile sur iPhone 13, Chrome sur Windows 10), que l'en-tête « Accept-Language » doit correspondre au marché cible et que les en-têtes « Do-Not-Track » doivent être configurées conformément au comportement habituel des utilisateurs. Les proxys résidentiels fournissent l’adresse IP ; vous fournissez le profil d’en-têtes qui correspond à vos critères de vérification.

Extraction de données via API à grande échelle: Lorsque vous utilisez des API tierces via des proxys, l'en-tête « Authorization » sert à l'authentification auprès de l'API, tandis que l'en-tête « Proxy-Authorization » sert à l'authentification auprès du service proxy. Vous pouvez également utiliser des en-têtes personnalisés tels que « X-API-Key », en fonction des exigences de l'API cible. L'infrastructure proxy conserve tous vos en-têtes tout en n'ajoutant que ceux qui sont nécessaires au fonctionnement du proxy. Les en-têtes de limitation de débit provenant à la fois de l’API et du service proxy vous aident à orchestrer vos requêtes de manière optimale.

Recherche de marché et agrégation de données: Collecte de données provenant de plusieurs sources nécessite des stratégies d'en-têtes différentes selon les sites. Certains vérifient systématiquement l'en-tête « Referer », d'autres se concentrent sur l'en-tête « User-Agent », et beaucoup s'assurent que les en-têtes « Accept » correspondent bien au type de contenu. Les tableaux de bord de gestion des proxys vous permettent de configurer des règles d’en-têtes par domaine, afin que chaque cible reçoive automatiquement les en-têtes appropriés. L’en-tête X-Forwarded-For peut être configuré par session selon que la cible l’utilise ou non à des fins de géolocalisation ou détection des bots.

Bonnes pratiques

Toujours inclure l'autorisation de proxy: Cela peut sembler évident, mais c'est la cause n° 1 des échecs de connexion. Assurez-vous que votre en-tête « Proxy-Authorization » est correctement formaté et utilise des identifiants à jour. Si vous rencontrez des erreurs 407 (« Proxy Authentication Required »), vérifiez que cet en-tête est bien présent et correct. Les tableaux de bord des proxys affichent généralement vos chaînes d’authentification au format correct : copiez-les à l’identique.

Utiliser les en-têtes User-Agent de manière intelligente: Ne choisissez pas au hasard des User-Agents dans une liste. Associez l'User-Agent à l'appareil ou au navigateur que vous simulez dans les autres en-têtes. Si vous envoyez un User-Agent mobile, les dimensions de votre fenêtre d’affichage et vos en-têtes « Accept » doivent également correspondre aux modèles mobiles. Les fonctionnalités de rotation des User-Agents assurent automatiquement la cohérence entre les en-têtes associés. N’envoyez jamais d’User-Agents manquants ou suspects, tels que « Mozilla/4.0 » ou simplement « Python ».

Utilisez des ensembles d'en-têtes complets: Les véritables navigateurs envoient entre 15 et 20 en-têtes à chaque requête. Si vous n'en envoyez que 3 ou 4, vous vous trahissez. Veillez à inclure au minimum : User-Agent, Accept, Accept-Language, Accept-Encoding, Connection et Referer (le cas échéant). Les modèles d’en-têtes fournissent des ensembles complets qui correspondent au comportement réel des navigateurs. La différence de taux de réussite entre des en-têtes minimales et des en-têtes complètes, similaires à celles des navigateurs, peut atteindre 40 à 50 % sur les sites protégés.

Respecter les en-têtes X-Rate-Limit: Les sites cibles et les services de proxy fournissent tous deux des informations relatives à la limitation de débit dans leurs en-têtes. Ne pas tenir compte de ces informations entraîne des blocages et des perturbations du service. Concevez votre logique de scraping de manière à lire les en-têtes « X-Rate-Limit-Remaining » et « X-Rate-Limit-Reset », puis adaptez votre débit en conséquence. Cela vous évitera d’atteindre les limites strictes et vous permettra de conserver de bonnes relations tant avec les fournisseurs de proxy qu’avec les sites cibles.

Configurer l'en-tête « X-Forwarded-For » en fonction de votre cas d'usage: Pour une discrétion maximale, supprimez entièrement l'en-tête X-Forwarded-For à l'aide des paramètres de gestion des en-têtes. Pour les applications où la géolocalisation est importante (résultats de recherche locaux, contenu régional), assurez-vous que l'en-tête X-Forwarded-For corresponde à votre emplacement du proxy résidentiel. À des fins de débogage, vous pouvez conserver votre adresse IP d'origine dans cet en-tête en interne, tout en la supprimant avant qu'elle n'atteigne les cibles. Choisissez la configuration qui correspond à vos besoins spécifiques.

Surveiller les en-têtes « Via » et « Forwarded »: Ces en-têtes révèlent l'utilisation d'un proxy. La plupart des sites cibles les ignorent, mais les systèmes anti-bots sophistiqués les détectent. Les proxys résidentiels peuvent supprimer automatiquement ces en-têtes en mode furtif. Si vous constatez des taux de blocage élevés, vérifiez si des en-têtes « Via » ou « Forwarded » sont envoyés aux sites cibles — les tableaux de bord des proxys indiquent précisément quels en-têtes ont été envoyés avec chaque requête. Passez en mode de suppression des en-têtes si nécessaire.

Conclusion

Pour les utilisateurs de proxy, les en-têtes HTTP constituent l'interface de contrôle du trafic Web. Ils authentifient votre accès à l'infrastructure du proxy, personnalisent la manière dont vos requêtes apparaissent aux yeux des sites cibles et fournissent des informations essentielles au débogage. Maîtrisez les en-têtes, et vous maîtriserez la collecte de données via un proxy : vous obtiendrez ainsi de meilleurs taux de réussite, éviterez les blocages et extrairez les données dont votre entreprise a besoin tout en restant indétectable.

Foire aux questions

L'autorisation de proxy sert à s'authentifier auprès des services de proxy : elle prouve que vous êtes un client payant ayant accès au réseau de proxy. L'autorisation sert à s'authentifier auprès du site web cible auquel vous accédez via des proxys. Considérez cela comme un système à deux portes : l’« Autorisation proxy » vous permet de franchir la porte du proxy, tandis que l’« Autorisation » vous permet de franchir la porte de la cible (son API ou ses pages protégées). Vous avez souvent besoin des deux : l’autorisation de proxy pour chaque requête transitant par le service proxy, et l’autorisation lorsque vous accédez à des points de terminaison authentifiés sur les sites cibles. Il s’agit d’identifiants totalement distincts qui répondent à des objectifs différents.

Plusieurs en-têtes peuvent révéler l'utilisation d'un proxy : Via, X-Forwarded-For, X-Real-IP et Forwarded. Les sites sophistiqués vérifient ces en-têtes et signalent le trafic en conséquence. Utilisez les fonctionnalités de journalisation des requêtes du proxy pour voir exactement quels en-têtes ont atteint la cible. Si vous constatez la présence de « Via » ou de plusieurs adresses IP dans « X-Forwarded-For », la cible sait que vous utilisez un proxy. Activez le « mode furtif » ou la « suppression des en-têtes » dans la configuration de votre proxy afin d’éliminer ces indices révélateurs. Les proxys résidentiels dotés d’une gestion complète des en-têtes les suppriment automatiquement lorsque le mode furtif est activé. Vous pouvez le vérifier en acheminant des requêtes vers httpbin.org/headers et en vérifiant ce qui s’affiche.

L'en-tête User-Agent ne suffit pas à lui seul : les systèmes anti-bot sophistiqués vous identifient à partir de l'ensemble complet des en-têtes. Si vous envoyez un en-tête User-Agent de Chrome mais que des en-têtes clés de Chrome manquent (comme Sec-CH-UA, Sec-Fetch-Dest ou un Accept-Encoding correct), vous paraissez suspect. Vérifiez également : vos en-têtes sont-ils cohérents d’une requête à l’autre ? Votre en-tête « Referer » est-il logique ? Les cookies sont-ils gérés correctement ? Vos en-têtes « Accept-Language » et « User-Agent » correspondent-ils géographiquement ? Utilisez des systèmes de modèles d’en-têtes qui fournissent des empreintes de navigateur complètes et cohérentes. De nombreux blocages ne sont pas liés à des en-têtes individuels, mais au schéma et à la cohérence de l’ensemble des en-têtes.

Tout à fait. La plupart des tableaux de bord de proxy comportent une section « Gestion des en-têtes » dans laquelle vous pouvez configurer des règles d’en-têtes par domaine ou de manière globale. Vous pouvez ajouter des en-têtes personnalisés, en supprimer certains, faire tourner les User-Agents à partir de pools prédéfinis et contrôler les en-têtes révélant l’identité du proxy, tels que « Via » et « X-Forwarded-For ». Pour les utilisateurs avancés, de nombreux services proposent l’injection d’en-têtes via une API : il suffit d’envoyer une configuration JSON avec chaque requête en précisant exactement les en-têtes à utiliser. Cela vous offre un contrôle total tout en conservant la commodité d’une infrastructure gérée pour l’authentification et le routage des en-têtes.