AZ Tools

HTTP Headers Reference

Developer

Quick lookup for the HTTP headers you reach for every day — what they do, whether they flow request-side, response-side, or both, and how they fit in CORS, caching, security, and cookies. Filter by category or search across name and description.

HeaderDescription
DateTimestamp when the message was originated, in IMF-fixdate format.
ConnectionWhether the network connection stays open after the current exchange (keep-alive / close).
Transfer-EncodingHow the message body is encoded for transfer — chunked, compress, deflate, gzip, identity.
Content-TypeMedia type of the body (e.g. application/json; charset=utf-8).
Content-LengthSize of the body in bytes.
Content-EncodingCompression applied to the body (gzip, br, zstd).
Content-LanguageNatural language of the body (e.g. ko-KR).
Content-DispositionWhether the body is displayed inline or treated as an attachment to be downloaded.
HostDomain name of the server (required for HTTP/1.1).
User-AgentIdentifies the client software (browser, bot, library).
AcceptMedia types the client can handle (e.g. text/html, application/json).
Accept-EncodingContent encodings the client can decode (gzip, br).
Accept-LanguagePreferred languages of the client (e.g. ko, en;q=0.8).
RefererURL of the page that triggered the request — yes, misspelled in the spec.
AuthorizationCredentials — Basic, Bearer, Digest, etc.
RangeRequest only a portion of the resource (e.g. bytes=0-1023). Triggers a 206 response.
If-None-MatchConditional request — only return the resource if its ETag does not match.
If-Modified-SinceConditional request — only return the resource if changed since the given date.
OriginScheme + host + port of the page that initiated a CORS or fetch request.
ServerIdentifies the server software handling the request.
LocationTarget URL for redirects (3xx) or location of a newly created resource (201).
ETagOpaque identifier for a specific version of the resource — used with If-None-Match.
Last-ModifiedWhen the resource was last changed — used with If-Modified-Since.
Retry-AfterHow long to wait before retrying — used with 429 and 503.
WWW-AuthenticateChallenges the client to authenticate — sent with 401 responses.
VaryLists request headers that affect this response — caches use it to key entries.
AllowHTTP methods allowed on the resource — sent with 405 responses.
Access-Control-Allow-OriginWhich origin(s) may read the response — exact origin or `*`. Cannot be `*` with credentials.
Access-Control-Allow-MethodsMethods allowed on the resource for cross-origin requests — sent in the preflight response.
Access-Control-Allow-HeadersCustom request headers the client may include — sent in the preflight response.
Access-Control-Allow-CredentialsWhether the response can be shared when credentials (cookies, basic auth) are sent.
Access-Control-Max-AgeHow long the browser may cache the preflight response, in seconds.
Access-Control-Expose-HeadersResponse headers JavaScript may read (beyond the default safelist).
Access-Control-Request-MethodIn a preflight, the method the actual request will use.
Access-Control-Request-HeadersIn a preflight, the custom headers the actual request will include.
Cache-ControlCaching directives — max-age, no-store, public, private, immutable, etc.
ExpiresAbsolute date after which the response is stale — Cache-Control: max-age takes precedence.
PragmaLegacy caching control — `Pragma: no-cache` for HTTP/1.0 compatibility.
AgeHow long ago (seconds) the response was generated by the origin, per the proxy.
Strict-Transport-SecurityHSTS — forces future visits to use HTTPS, optionally including subdomains and preload.
Content-Security-PolicyCSP — restricts which sources of scripts, styles, frames, etc. the browser may load.
X-Frame-OptionsWhether the page may be embedded in a frame — DENY, SAMEORIGIN. Superseded by CSP frame-ancestors.
X-Content-Type-Options`nosniff` disables MIME sniffing — the browser must trust the declared Content-Type.
Referrer-PolicyControls how much of the Referer URL is sent with outgoing requests.
Permissions-PolicyOpts in/out of browser features (camera, microphone, geolocation, etc.) for the page and its frames.
Cross-Origin-Opener-PolicyCOOP — isolates the browsing context from cross-origin documents. Required for SharedArrayBuffer.
Cross-Origin-Resource-PolicyCORP — restricts which origins may load this resource.
CookieCookies the client sends back to the server.
Set-CookieAsks the client to store one or more cookies — attributes: Path, Domain, Max-Age, Secure, HttpOnly, SameSite.

How to use

  1. Type a header name (`cache-control`) or keyword (`cors`, `redirect`) in the search box.
  2. Pick a category chip to narrow down — e.g. Security to compare CSP, HSTS, COOP.
  3. Click copy on any row to copy the header name.

Frequently asked questions

Why is some `Cache-Control` flagged both directions?
Some headers — `Cache-Control`, `Content-Type`, `Date`, `Connection` — are valid on both requests and responses. The table marks those with `↔`.
What's the difference between `Origin` and `Referer`?
`Origin` is just scheme + host + port; it's sent on CORS and POST requests. `Referer` is the full URL of the previous page and is mostly for analytics — `Referrer-Policy` controls how much of it leaks.
When are CORS preflight headers used?
When a fetch uses a non-simple method (`PUT`, `DELETE`) or sets custom headers, the browser first sends an `OPTIONS` preflight. `Access-Control-Request-*` go on that preflight; `Access-Control-Allow-*` come back; the actual request follows if the preflight allowed it.

Related tools