Overview
Introduction
Response headers carry most of the operational information a browser or crawler uses about a page beyond its HTML: how long to cache it, whether it's safe to embed in a frame, what encoding the body uses, and dozens of other signals that never show up in the rendered page itself.
This tool gives a fast overview pass: fetch or paste a page's headers and see all of them at once, each tagged with a plain category, before drilling into a more specific checker for caching or security details.
What Is HTTP Header Checker?
A general-purpose HTTP response header viewer that categorizes every header it sees into one of four groups (Caching, Security, Content, Other) using a fixed lookup table of common header names.
It supports both a live fetch of a URL and a paste-in mode for headers copied from a browser's Network tab or a `curl -I` command, so it works even on pages that don't expose their full header set to a cross-origin browser fetch.
How HTTP Header Checker Works
A fetched or pasted header block is parsed into individual name/value pairs, then each header's lowercased name is checked against a fixed set of known Caching, Security, and Content header names; anything unmatched falls into Other.
The result is rendered as a full table plus a summary count per category, so a glance tells you roughly how many security-relevant headers are present before checking any of them individually.
When To Use HTTP Header Checker
As a first pass when auditing a page's server configuration, to see the full header set at a glance before running a more targeted checker.
When comparing what a server sends in production versus staging, since header differences (a missing cache header, an extra debug header) often reveal configuration drift.
Often used alongside Security Headers Checker, Cache Header Checker and Redirect Checker.
Features
Advantages
- Gives a full-header overview in one view instead of requiring a separate lookup for each header's meaning.
- Categorization makes it easy to spot at a glance that, say, zero Security-category headers are present, without reading every row individually.
- Works identically whether headers came from a live fetch or a paste, since both paths feed the same parser.
Limitations
- A live fetch is limited to CORS-safelisted response headers unless the target explicitly exposes more via Access-Control-Expose-Headers, so it will often show fewer headers than the server actually sent.
- The category lookup table only covers common, well-known header names; custom or vendor-specific headers (e.g. X-Amz-*, X-Custom-*) are grouped under Other even when they're functionally about caching or security.
Examples
Best Practices & Notes
Best Practices
- Run this on your production HTML document response, not just static assets, since document responses are where security headers matter most.
- Treat a live-fetch result with a suspiciously short header list as a CORS-visibility limitation first, not necessarily proof the server is sending few headers - confirm with a paste from curl -I before drawing conclusions.
Developer Notes
The category lookup is a fixed Set-based table (see CACHING_HEADERS / SECURITY_HEADERS / CONTENT_HEADERS in the lib module) matched against the lowercased header name; it intentionally does not attempt to parse header values for categorization, only names, to keep the logic predictable.
HTTP Header Checker Use Cases
- Getting a full inventory of what headers a page's server sends before deciding which specific checker (caching, security) to run next
- Spotting an unexpected or leftover debug/internal header in a production response
- Comparing header sets between two environments (staging vs production, before vs after a CDN change) to find configuration drift
Common Mistakes
- Assuming a live-fetch header list is complete when it's actually just the CORS-safelisted subset, and concluding a header is "missing" when it's only hidden from the browser.
- Only checking headers on the homepage and assuming every other page's server configuration matches, when caching or security headers are often set per-route or per-content-type.
Tips
- Paste the output of `curl -sI https://example.com` for the most complete and reliable header list, since it bypasses browser CORS visibility limits entirely.