My HTTP Headers

See exactly what your browser is sending — and what it reveals about you.

Wondering how unique your browser is? Check your browser fingerprint — the signals websites use to identify you without any cookies.

Check Your Fingerprint →

Que sont les en-têtes HTTP ?

Chaque fois que votre navigateur ouvre un site web, il n'envoie pas seulement une requête pour la page — il envoie également un paquet de métadonnées avec cette requête. Ces métadonnées sont les en-têtes HTTP.

Vous ne tapez jamais ces en-têtes. Vous ne les voyez jamais lors d'une navigation normale. Mais chaque serveur que vous visitez les lit, et ils révèlent une quantité surprenante d'informations sur vous : quel navigateur vous utilisez, quel système d'exploitation vous avez, quelles langues vous parlez, d'où vous venez, si vous êtes derrière un proxy, et quel type de contenu vous acceptez.

Le widget en direct ci-dessus montre tous les en-têtes que votre navigateur a envoyés pour charger cette page. Ci-dessous se trouve une référence complète et catégorisée des en-têtes HTTP courants, ce que chacun fait et ce qu'il révèle.

Ce que vos en-têtes révèlent sur vous

Certains en-têtes HTTP sont techniquement nécessaires — ils indiquent au serveur comment formater la réponse. D'autres sont des empreintes d'identité : combinés ensemble, ils rendent votre navigateur reconnaissable de manière unique sur internet, même sans cookies.

  • Votre User-Agent seul vous réduit à quelques milliers de personnes. Parfois bien moins, selon votre combinaison navigateur/OS/architecture.
  • Accept-Language révèle votre pays et probablement votre langue maternelle. Les sites l'utilisent pour localiser le contenu ; les traceurs l'utilisent pour créer des profils.
  • Les Client Hints (Sec-CH-UA-*) sont des versions plus récentes et plus précises du User-Agent. Activés par défaut dans les navigateurs Chromium, ils divulguent encore plus de détails. Safari refuse de les implémenter pour des raisons de confidentialité.

Référence des en-têtes HTTP

~38 en-têtes de requête courants, regroupés par objectif.

En-têtes d'identification

User-Agent#

Identifies your browser, version, rendering engine, and OS. The most fingerprintable single header. Combined with other data, it often makes you uniquely identifiable. Defined in RFC 9110 §10.1.5.

Sec-CH-UA#

"User-Agent Client Hints." A newer, structured replacement for User-Agent. Reveals browser brand and version in a machine-readable format. Sent by default in Chrome, Edge, and other Chromium browsers. Not sent by Safari or Firefox.

Sec-CH-UA-Platform#

Your OS family — "Windows", "macOS", "Linux", "Android", or "iOS". Sent by default in Chromium as a low-entropy hint.

Sec-CH-UA-Mobile#

?1 if you're on a mobile device, ?0 if not. Sent by default in Chromium alongside the other low-entropy Client Hints.

Langue et négociation de contenu

Accept-Language#

Your preferred languages in priority order (e.g. en-US,en;q=0.9,fr;q=0.7). Servers use it to localize content; trackers use it to infer your country and native language.

Accept#

The MIME types your browser is willing to receive. Reveals which image formats and content types your browser supports — another fingerprinting signal.

Accept-Encoding#

Compression algorithms your browser supports (typically gzip, deflate, br, zstd). Lets the server send compressed responses to reduce transfer size.

Accept-Charset#

Character sets the client accepts. Almost always omitted by modern browsers — servers default to UTF-8 and this header became redundant.

Connexion et chaîne de proxy

X-Forwarded-For#

The chain of IP addresses your request passed through. If you're behind a proxy or VPN, your real IP can still appear here as the leftmost address. Sites can read this to bypass simple VPN masking.

X-Real-IP#

Often set by reverse proxies (nginx, Caddy) to indicate the client's true IP, separate from the proxy chain.

CF-Connecting-IP#

Cloudflare's version of "your real IP." On any Cloudflare-protected site, this is what the origin server actually sees — not the Cloudflare edge node IP.

CF-IPCountry#

Two-letter country code Cloudflare detected from your IP (e.g. US, DE, IN).

CF-Ray#

Unique ID Cloudflare assigns to each request. Useful for debugging; useless for tracking you since it changes with every request.

Via#

Indicates intermediate proxies or gateways the request passed through. Rare for normal traffic; common in corporate networks and CDN chains.

Forwarded#

The standardized version of X-Forwarded-For (RFC 7239). Slowly replacing the older X-prefixed variants.

Origine et référent

Referer#

The full URL of the page you came from. Reveals your browsing path to every site you visit. Many browsers now strip or shorten this for privacy. Note: yes, this is an official misspelling — the original 1996 spec (RFC 1945) had a typo, and it was too late to fix it.

Origin#

The scheme + host of the page making the request (no path, no query). Sent on cross-origin requests so the server can enforce CORS. Less leaky than Referer — it only reveals the site, not the specific page.

Sécurité et métadonnées de fetch

Sec-Fetch-Site#

Where the request originated: same-origin, same-site, cross-site, or none. Helps servers detect CSRF and SSRF attacks.

Sec-Fetch-Mode#

The mode: navigate (you clicked a link), cors, no-cors, same-origin, or websocket.

Sec-Fetch-Dest#

What the response is for: document, image, script, style, font, iframe, etc.

Sec-Fetch-User#

?1 if the request was triggered by user action (click, key press). Distinguishes user-initiated navigation from script-initiated requests.

Sec-Fetch-Storage-Access#

active or inactive — whether the request has access to unpartitioned cookies. Part of the Storage Access API (2024+), relevant for cross-site auth flows.

Mise en cache

Cache-Control#

Instructions to caches (browser, CDN, proxy) about freshness and storage. Defined in RFC 9111.

If-None-Match#

Sent with an ETag from a previous response. The server replies 304 Not Modified if the resource hasn't changed — saves bandwidth.

If-Modified-Since#

A timestamp from your last fetch. Same idea as If-None-Match, older mechanism.

If-Match#

Only proceed if the resource matches the given ETag. Used for optimistic concurrency control in REST APIs.

Pragma#

Legacy HTTP/1.0 cache directive. Modern browsers may still send Pragma: no-cachefor backward compatibility, but it's deprecated in favor of Cache-Control.

Cookies et état

Authentification

Authorization#

Carries credentials (Basic, Bearer/JWT, Digest). Browsers only send this on navigation after a 401 Unauthorized challenge, or when explicitly set by JavaScript (e.g. API calls).

Proxy-Authorization#

Same idea as Authorization, but credentials for the proxy itself rather than the destination server.

Contrôle de connexion et performance

Connection#

Usually keep-alive — keeps the TCP connection open for multiple sequential requests.

Host#

The domain you're connecting to. Required since HTTP/1.1 — allows virtual hosting on shared IPs.

Upgrade-Insecure-Requests#

1 if your browser prefers HTTPS responses over HTTP when both are available.

Save-Data#

on if the user has enabled "data saver" mode in the browser or OS. Sites can respond with lighter assets — smaller images, fewer fonts.

Priority#

Hints request priority (u= urgency, i= incremental) for HTTP/2 and HTTP/3 stream scheduling. Defined in RFC 9218.

Range#

Request only a byte range of the resource (e.g. bytes=0-1023). Used by video players, download managers, and resumable downloads.

Signaux de confidentialité

DNT (Do Not Track)#

Set to 1 if you've enabled "do not track." Mostly ignored by sites — a polite request with no legal enforcement in most countries.

Sec-GPC (Global Privacy Control)#

1 if your browser signals "do not sell or share my personal data." Unlike DNT, GPC has legal standing under California's CCPA. Sent by Firefox by default, Brave, and DuckDuckGo browser; opt-in elsewhere.

Comment réduire ce que vos en-têtes révèlent

Vous ne pouvez pas désactiver les en-têtes HTTP — ils sont nécessaires au fonctionnement du web. Mais vous pouvez réduire leur caractère identifiant :

  • Utilisez Firefox avec privacy.resistFingerprinting = true (about:config). Usurpe un User-Agent générique et standardise le fuseau horaire, l'écran et la langue entre les utilisateurs.
  • Utilisez le navigateur Tor pour la défense la plus forte — tous les utilisateurs Tor présentent des en-têtes identiques, donc toute la population Tor paraît identique.
  • Utilisez un VPN pour masquer votre IP des en-têtes — mais notez que cela ne change pas votre User-Agent, Accept-Language ni les autres signaux d'empreinte digitale.
  • Désactivez les Client Hints dans Chromium via chrome://flags/#user-agent-reduction.
  • Supprimez le Referer avec une extension de navigateur (mode avancé d'uBlock Origin, uMatrix).

La résistance à la vie privée exige que tous les utilisateurs de votre configuration de navigateur paraissent identiques. Les ajustements ponctuels vous rendent généralement plus unique, pas moins.

Foire aux questions

Quels en-têtes HTTP Chrome envoie-t-il ?

Par défaut, Chrome envoie : Host, User-Agent, Accept, Accept-Language, Accept-Encoding, Connection, ainsi que les Client Hints à faible entropie Sec-CH-UA, Sec-CH-UA-Mobile et Sec-CH-UA-Platform, la famille complète de métadonnées Sec-Fetch-* et Upgrade-Insecure-Requests: 1.

Quels en-têtes HTTP Safari envoie-t-il ?

Safari envoie Host, User-Agent, Accept, Accept-Language, Accept-Encoding et Connection. Safari n'envoie pas les Client Hints Sec-CH-UA — Apple a refusé de les implémenter. Safari supprime également le Referer plus agressivement par défaut.

Quels en-têtes HTTP Firefox envoie-t-il ?

Firefox envoie Host, User-Agent, Accept, Accept-Language, Accept-Encoding, Connection et Upgrade-Insecure-Requests. Firefox n'envoie pas les Client Hints. Avec privacy.resistFingerprinting activé, Firefox usurpe un User-Agent générique.

Puis-je masquer mes en-têtes HTTP ?

Pas entièrement — les serveurs ont besoin de la plupart d'entre eux. Vous pouvez usurper ou supprimer les plus identifiants en utilisant des navigateurs axés sur la confidentialité ou des extensions.

Mon User-Agent est-il unique ?

Souvent, oui. La combinaison navigateur + version + OS + architecture réduit la plupart des utilisateurs à quelques milliers dans le monde.

Qu'est-ce que X-Forwarded-For ?

Un en-tête ajouté par les proxys et CDN enregistrant l'IP client d'origine. Si vous êtes derrière un VPN, votre vraie IP peut encore apparaître ici.

Pourquoi Referer est-il mal orthographié ?

La spécification HTTP/1.0 (RFC 1945, 1996) contenait la faute de frappe. L'orthographe correcte est Referrer ; le nom de l'en-tête reste Referer.

Les en-têtes HTTP sont-ils privés ?

Non. Chaque serveur auquel vous vous connectez les voit. Via HTTPS, les en-têtes sont chiffrés en transit.

Un site web peut-il voir ma vraie IP si j'utilise un VPN ?

L'IP présentée par le nœud de sortie de votre VPN sera dans les en-têtes. Les fuites WebRTC et DNS peuvent parfois exposer votre vraie IP séparément.

Quelle est la différence entre Referer et Origin ?

Referer est l'URL complète de la page précédente. Origin est seulement schéma + hôte — moins révélateur. Origin est envoyé sur les requêtes cross-origin ; Referer est envoyé sur la plupart des navigations.

Written by Pipo · myipco.com

Published · Last updated