What are HTTP headers?
When your browser asks for a web page, it sends a request made of a method and address followed by a list of headers: short Name: value lines that describe the request. The server reads them to decide what to send back (which language, which compression, which format) and many sites also log them or use them to recognise visitors.
The headers that reveal the most
| Header | What it can reveal |
|---|---|
User-Agent | Browser, version, operating system and often device type. |
Accept-Language | Your preferred languages in order, which hints at your country and background. |
Sec-CH-UA* | Client Hints in Chromium browsers: brand, platform and mobile flag. |
Referer | The page you came from. Browsers trim it to the site name by default, but older setups send the full address. |
Cookie | Identifiers previously set by that site. (Hidden on this page for your safety.) |
DNT / Sec-GPC | Your tracking preferences. Global Privacy Control is legally recognised in some US states. |
X-Forwarded-For | Added by proxies and CDNs: the chain of addresses a request travelled through. |
What headers do not include
Your IP address is not a header. It comes from the network connection itself, which is why the box above lists it separately. The headers you see may include extras added in transit: a CDN or reverse proxy such as Cloudflare adds its own fields (CF-Connecting-IP, X-Forwarded-For) before the request reaches us.
How to read the list
Headers fall into a few families. Content negotiation headers (Accept, Accept-Encoding, Accept-Language) say what formats and languages you can handle. Identity headers (User-Agent and the Sec-CH-UA family) describe your browser. Context headers (Referer, Origin, Sec-Fetch-*) describe where the request came from and why, which servers use to reject suspicious requests. Connection headers (Host, Connection) describe the transport. Only the first two families identify you, and the more detailed they are, the more they help fingerprint you.
The same page loaded over HTTP/2 or HTTP/3 shows lower-case header names and may omit some connection headers, because the newer protocols handle them differently. That is normal.
Privacy tips
- Use a browser that reduces header detail (Firefox, Safari and Brave trim the user agent and block the most detailed hints).
- Be careful with extensions that change your user agent: unusual combinations make you easier to fingerprint.
- Enable Global Privacy Control to send
Sec-GPC: 1. - If you are building a site, send a strict
Referrer-Policyand avoid putting secrets in URLs, because URLs can leak through theRefererheader.
To see what scripts can read beyond headers, run the browser fingerprint test.
Last reviewed 2026-10-26. Found a mistake? Report a correction (how we handle them).