01À quoi servent les en-têtes HTTP ?
À chaque requête, votre navigateur joint des en-têtes HTTP : des paires clé-valeur qui décrivent ce qu'il demande et ce qu'il sait accepter — format, langue, compression, contexte de navigation. Le serveur s'en sert pour adapter sa réponse : c'est la négociation de contenu.
Cette page est un miroir de votre requête : elle affiche exactement ce qu'un serveur reçoit de vous. C'est l'outil classique pour déboguer un client HTTP, vérifier ce qu'envoie un script ou une application, contrôler un reverse proxy ou comprendre pourquoi un site vous répond dans la mauvaise langue.
02Les en-têtes les plus courants
- User-Agent
- Identifie le navigateur, sa version et le système d'exploitation. Historiquement fourre-tout, il est en cours de réduction au profit des Client Hints.
- Accept
- Formats de contenu que le client sait traiter (HTML, JSON, images…), avec leurs préférences.
- Accept-Language
- Langues préférées de l'utilisateur, dans l'ordre. C'est ce qui permet à un site multilingue de choisir la langue d'accueil.
- Accept-Encoding
- Algorithmes de compression acceptés (gzip, br, zstd) pour réduire le poids des réponses.
- Referer
- URL de la page d'où provient le clic. Tronqué ou absent selon la politique de confidentialité du site d'origine.
- Cookie
- Les cookies enregistrés pour ce site, renvoyés à chaque requête.
- Sec-Fetch-*
- Métadonnées de sécurité posées par le navigateur lui-même (impossible à falsifier en JavaScript) : contexte, destination et origine de la requête.
- Sec-CH-UA
- Client Hints : le remplaçant structuré du User-Agent — navigateur, plateforme, mobile ou non.
03En ligne de commande
En texte brut, cette page renvoie la liste de vos en-têtes — pratique pour voir ce qu'envoie réellement un script, ou tester un en-tête personnalisé avec l'option -H :
$ curl its-my-ip.com/headers user-agent: curl/8.5.0 accept: */* $ curl -H "X-Debug: 1" its-my-ip.com/api/headers { "headers": { "x-debug": "1", … }, "connection": { "httpProtocol": "HTTP/2", … } }
04Questions fréquentes
Que révèlent mes en-têtes sur moi ?
Individuellement, peu de chose : un navigateur, des langues, des formats acceptés. Mais leur combinaison exacte (versions, ordre, préférences) contribue au « fingerprinting » : une empreinte qui peut identifier votre navigateur parmi des millions, sans cookie. Les navigateurs modernes réduisent progressivement ces variations.
Qu'est-ce que le User-Agent ?
C'est l'en-tête par lequel le navigateur se présente : nom, version, moteur de rendu et système d'exploitation. Sa syntaxe étrange (tous les navigateurs prétendent être Mozilla) est un héritage des années 90. Il est progressivement remplacé par les Client Hints (Sec-CH-UA), plus structurés et moins bavards.
Qu'est-ce que HTTP/3 ?
HTTP/3 est la dernière version du protocole du web. Elle abandonne TCP pour QUIC, un transport bâti sur UDP : connexion plus rapide à établir, meilleure résistance aux pertes de paquets et aux changements de réseau (Wi-Fi vers 4G). Si cette page affiche HTTP/3, votre navigateur et votre réseau le supportent déjà.
Pourquoi certains en-têtes commencent par Sec- ?
Le préfixe Sec- est réservé : ces en-têtes ne peuvent être posés que par le navigateur lui-même, jamais modifiés par le JavaScript d'une page. Les serveurs peuvent donc s'y fier pour détecter le contexte réel d'une requête, par exemple pour bloquer certaines attaques cross-site.
C'est quoi, les en-têtes « ajoutés par le proxy » ?
Ce site est servi derrière Cloudflare. Comme tout proxy, il ajoute des en-têtes techniques à destination du serveur : votre IP d'origine (CF-Connecting-IP), un identifiant de requête (CF-Ray), le protocole utilisé… Votre navigateur ne les a jamais envoyés : ils sont listés à part pour ne pas fausser la lecture.