HTTP Request Header Analyzer

Inspect any request’s headers and understand what each one actually does — caching behaviour, content negotiation, authentication and the security signals that matter.

Paste a raw capture from your browser DevTools, a proxy (mitmproxy, Charles, Fiddler), an access log — or even a cURL command. The analyzer parses every field, explains it in plain English, groups the results into caching, content negotiation, authentication and security, and flags the patterns that quietly cause real problems: Basic auth in transit, Referer strings leaking query parameters, credentials over plain HTTP, outdated client signatures and duplicate or malformed headers.

🔒 100% private — nothing is uploaded or stored. Your headers are parsed and analyzed entirely in your browser with plain JavaScript. They never leave your device — we don’t see them, log them or store them. That matters here especially: a pasted capture often contains real credentials (tokens, cookies, Basic auth), so sensitive values are masked by default and only you can reveal them.

Paste request headers

Accepts a raw HTTP request (request line optional), a bare header block, or a full curl command. Sensitive values stay masked until you reveal them. Analysis updates as you type.

Header reference

Every request header the analyzer knows about, with a plain-English explanation — searchable, so you can look one up without pasting a capture first.

How to read HTTP request headers

A request is a small negotiation between client and server, and the headers are where it happens. The request line says what (method + path); the headers say how. Four groups do most of the work:

Caching & conditional requests

Cache-Control tells intermediates what they may store and for how long (max-age=300 = serve from cache for five minutes without asking). The If-* headers make requests conditional: If-None-Match: "etag" or If-Modified-Since: <date> lets the server answer 304 Not Modified with an empty body when nothing changed — the client keeps its cached copy. That one round trip is how CDNs and browser caches save most of their bandwidth.

Content negotiation

Avoid the classic confusion: on a request, Accept is what the client wants back, while Content-Type describes the body it is sending. Both use media types with optional q= quality values (text/html;q=0.9 = second choice). Accept-Encoding: gzip, br advertises which compressions the client can decode; Accept-Language picks the locale. The server matches these against what it has and picks the best fit — or answers 406 Not Acceptable when there is none.

Authentication schemes

Authorization: Bearer <token> is the modern default for APIs: the token is the credential, and whoever holds it acts as you. Basic sends base64(username:password) on every request — base64 is encoding, not encryption, so it is only acceptable over TLS (and even then it is fragile). API keys in custom headers (X-Api-Key) are the same idea with a different name. Cookies carry session-based authentication instead, which is why cookie flags and Origin/Referer matter for CSRF.

Security signals worth checking

  • Referer leaks. Browsers send the full previous URL — including its query string — as the Referer. If your URLs carry tokens or personal identifiers, they go to every external site and API you touch.
  • X-Forwarded-For is client-controllable. Anyone can set it. It is only meaningful when your own edge proxy appends the real client IP — otherwise treat it as a hint, never as identity.
  • User-Agent is self-reported text. Useful for compatibility (and for spotting end-of-life browsers that are prime targets), useless as a security control.
  • Credentials + plain HTTP. If X-Forwarded-Proto says http (or the captured URL is http://) while auth headers are present, the credentials crossed the wire unencrypted.

Where to get headers for analysis: in Chrome/Edge/Firefox DevTools open the Network tab, click a request, and use Copy → Copy as cURL or read the Request Headers panel. mitmproxy, Charles and Fiddler show full captures on a proxy; server access logs (nginx, Apache) log selected request headers via their log format.


Luke Keam
Thank you for reading. Get in touch
Luke Keam | techgeek.biz