Back to Reference

HTTP Headers Reference

A complete reference for HTTP request and response headers — what they do, how to use them, and when they matter.

Want to see what headers a real URL is actually sending? Use the Header Inspector.

Inspect Headers
Accept-CH
general response

Requests that the browser include specific Client Hints (device, network, or user-preference info) on subsequent requests to this origin.

Accept-Encoding
content request

Lists the compression algorithms the client supports — so the server knows which encoding to use on the response body.

Accept-Language
content request

Lists the client's preferred natural languages for the response — the client's half of HTTP language negotiation.

Accept-Patch
general response

Advertises which media types a resource accepts for PATCH requests — tells clients what patch document formats (like JSON Patch) are supported.

Accept-Post
general response

Advertises which media types a resource accepts in the body of a POST request, most commonly seen in Linked Data and semantic web APIs.

Accept-Ranges
transfer response

Tells the client whether the server supports range requests for this resource.

Accept
content request

Tells the server which content types the client can handle — the client's half of HTTP content negotiation.

Age
caching response

How many seconds a cached response has been sitting in a shared cache — tells you how fresh the response still is.

Allow
general response

Lists the HTTP methods the server supports for the requested resource — always sent with 405 Method Not Allowed.

ALPN
general both

Not an HTTP header itself — a TLS extension for negotiating which application protocol (HTTP/1.1, HTTP/2, HTTP/3) runs over a connection before any HTTP is exchanged.

Alt-Svc
proxy response

Advertises alternative services for the origin — the mechanism servers use to announce HTTP/3 (QUIC) support and tell clients to upgrade.

Alt-Used
proxy request

Identifies which alternative service the client is currently using — sent by clients after connecting via an Alt-Svc advertisement.

Authentication-Info
auth response

Sent by the server after successful authentication to provide mutual auth confirmation and updated credentials — primarily used with Digest auth.

Authorization
auth request

Carries the client's credentials to authenticate with the server — the most fundamental header in HTTP authentication.

Cache-Control
caching both

The primary mechanism for controlling how and for how long responses are cached by browsers, CDNs, and proxies.

Cache-Status
proxy response

Tells the client exactly what each cache in the chain did with the request — hit, miss, stale, expired, or bypassed.

CDN-Cache-Control
proxy response

Like Cache-Control but targets only CDN caches — lets you set different TTLs for CDNs vs browsers from a single response.

CDN-Loop
proxy request

Detects infinite request loops between CDN nodes — each CDN appends its identifier so loops are caught before they spiral.

Clear-Site-Data
security response

Instructs the browser to clear cookies, storage, cache, and/or execution contexts for the current origin — commonly used on logout.

Conditional Request Headers
conditional request

Headers that make HTTP requests conditional — only proceed if the resource has (or hasn't) changed since you last saw it.

Connection
general both

Controls whether the TCP connection stays open after the current request — and lists hop-by-hop headers to strip before forwarding.

Content-Disposition
content response

Controls whether the browser displays the response inline or downloads it as a file, and sets the suggested filename.

Content-Encoding
content both

Describes the compression or transformation applied to the message body, so the recipient knows how to decode it.

Content-Language
content both

Describes the natural language(s) of the intended audience for the message body.

Content-Length
content both

The size of the message body in bytes. Lets the recipient know exactly how much data to read.

Content-Location
content response

Indicates the specific URL for the content being returned — useful when the request URL and the canonical content URL differ.

Content-Range
content response

Indicates where a partial response body fits within the full content — sent alongside 206 Partial Content responses.

Content-Security-Policy-Report-Only
security response

Tests a Content Security Policy without enforcing it — violations are reported but resources are still loaded.

Content-Security-Policy
security response

Tells the browser exactly which sources are allowed to load scripts, styles, images, and other resources — the primary defence against XSS attacks.

Content-Type
content both

Tells the recipient what media type the message body is, and how it's encoded — so it knows how to parse it.

Cookie
auth request

Sends stored cookies back to the server — the client's half of the cookie mechanism, paired with Set-Cookie.

CORS Headers
cors both

The 9 headers that make Cross-Origin Resource Sharing work — controlling which origins, methods, and headers are allowed across origins.

Cross-Origin-Embedder-Policy-Report-Only
security response

The monitoring-only counterpart to COEP — reports what would be blocked under require-corp without actually blocking anything, for safe rollout.

Cross-Origin-Embedder-Policy
security response

Requires all cross-origin resources loaded by this page to explicitly opt in — needed alongside COOP to enable SharedArrayBuffer.

Cross-Origin-Opener-Policy-Report-Only
security response

The monitoring-only counterpart to COOP — reports what window-isolation behavior would change under same-origin without actually enforcing it.

Cross-Origin-Opener-Policy
security response

Isolates your browsing context from cross-origin popups and windows — required to enable SharedArrayBuffer and high-resolution timers.

Cross-Origin-Resource-Policy
security response

Restricts which origins can load this resource — a defence against cross-origin information leaks and Spectre-style attacks.

Date
general both

The date and time the message was generated — used for caching calculations and request timing.

Deprecation
general response

Signals that a resource or API endpoint is deprecated — machine-readable, checkable programmatically, without necessarily specifying a removal date.

DPoP-Nonce
auth both

A server-issued challenge value that must be embedded in subsequent DPoP proofs, adding freshness guarantees beyond timestamp checking alone.

DPoP
auth request

Proof-of-possession header that cryptographically binds a request to a client-held key, preventing stolen Bearer tokens from being replayed by an attacker.

Early-Data
security request

Automatically added by intermediaries to flag a request sent during TLS 1.3's 0-RTT early data phase, which is vulnerable to replay attacks.

ETag
caching response

A unique identifier for a specific version of a resource — used for cache validation and optimistic concurrency control.

Expect
general request

Lets a client ask the server to check conditions before the client sends a large request body — avoiding wasted bandwidth on rejected requests.

Expires
caching response

An HTTP/1.0 header that sets an absolute expiry date for a cached response. Superseded by Cache-Control but still widely sent.

Forwarded
proxy request

The standardised header for passing client IP and protocol info through proxies — the RFC 7239 replacement for X-Forwarded-For.

From
general request

Contains the email address of the human user controlling the requesting agent — intended for automated bots to identify themselves.

Host
general request

Specifies which host and port the client wants to reach — the only mandatory HTTP/1.1 request header.

If-Match
conditional request

Makes a request conditional on an ETag matching exactly — used to prevent lost updates when multiple clients edit the same resource.

If-Modified-Since
conditional request

Makes a request conditional on a timestamp — the older, date-based counterpart to ETag-based cache revalidation.

If-None-Match
conditional request

Makes a request conditional on an ETag NOT matching — the standard mechanism behind HTTP caching revalidation (304 Not Modified).

If-Range
conditional request

Makes a Range request conditional — returns the partial content only if the resource hasn't changed, otherwise the full resource.

If-Unmodified-Since
conditional request

Makes a request conditional on a resource NOT having changed since a given timestamp — the date-based counterpart to If-Match.

Keep-Alive
general both

Provides parameters (timeout and max requests) for a persistent connection — always paired with Connection: keep-alive.

Last-Event-ID
general request

Automatically sent by EventSource on reconnect, telling the server which Server-Sent Event the client last received so the stream can resume without gaps.

Last-Modified
caching response

The date and time the server last changed the resource — used for cache validation and conditional requests.

Link-Template
general response

Declares a URI Template for a related resource — lets a client construct a valid URL by filling in variables, rather than requiring the server to enumerate every possible link.

Link
proxy response

The HTTP equivalent of the HTML <link> element — declares relationships between resources, powers preload/prefetch hints, and enables API pagination.

Location
general response

Points the client to a different URL — used for redirects and to identify newly created resources.

Max-Forwards
general request

Limits how many times a request can be forwarded through proxies — used exclusively with TRACE and OPTIONS.

NEL
observability response

Network Error Logging — instructs browsers to report network-level failures like DNS errors, TCP failures, and TLS issues to a reporting endpoint.

Origin-Agent-Cluster
security response

Requests that the browser isolate this origin into its own process/agent cluster, gaining stronger memory isolation and access to higher-precision timers.

Prefer
general request

Lets a client express a non-binding preference about how a request should be handled — async processing, minimal responses, or specific representation formats.

Preference-Applied
general response

The server's confirmation of which client-requested Prefer preferences were actually honored on this response.

Priority
proxy both

Signals the relative priority of a request to servers and intermediaries — part of the Extensible Prioritization Scheme for HTTP.

Proxy-Authenticate
auth response

Tells the client what authentication is needed to access a resource through a proxy — the proxy equivalent of WWW-Authenticate.

Proxy-Authentication-Info
auth response

Sent by a proxy after successful authentication to provide mutual auth confirmation — the proxy equivalent of Authentication-Info.

Proxy-Authorization
auth request

Carries credentials to authenticate with an intermediate proxy — the client's response to a 407 Proxy Authentication Required challenge.

Proxy-Status
proxy response

Provides structured information about what an intermediary proxy did with a request — errors, forwarding decisions, and why things failed.

Range
transfer request

Requests a specific portion of a resource by byte range — enabling resumable downloads and video seeking.

Referer
general request

The URL of the page that linked to the current request — used for analytics, logging, and access control.

Referrer-Policy
security response

Controls how much URL information is sent in the Referer header when users navigate away from your site.

Refresh
general response

Tells the browser to reload the current page or navigate to a new URL after a delay — the HTTP-header equivalent of the meta refresh tag.

Retry-After
general response

Tells the client how long to wait before making another request — used with 429, 503, and 3xx responses.

Sec-Fetch Metadata Headers
fetch-metadata request

Four browser-set headers that tell servers exactly where a request is coming from and why — enabling server-side isolation policies.

Server-Timing
observability response

Communicates server-side timing metrics for a request — how long the database took, cache lookup, rendering, and more.

Server
general response

Identifies the software the origin server used to handle the request — and a common target for security hardening.

Set-Cookie
auth response

Creates or updates a cookie in the browser — the server's mechanism for persisting state across HTTP requests.

Strict-Transport-Security
security response

Tells browsers to only ever connect to this site over HTTPS — and to remember that for a specified duration.

Sunset
general response

Announces a future date when a resource or API endpoint will stop being available — a machine-readable deprecation timeline.

Traceparent
observability both

Carries distributed tracing context across service boundaries — the W3C standard for propagating trace IDs in microservices.

Tracestate
observability both

Carries vendor-specific distributed tracing metadata alongside Traceparent — allows multiple tracing systems to coexist on the same request.

Trailer
transfer both

Declares which header fields will appear in the trailer section at the end of a chunked message.

Transfer-Encoding
transfer both

Specifies how the message body is encoded for transfer — the most important value being chunked, which allows streaming responses without a known Content-Length.

Upgrade
general both

Asks the server to switch to a different protocol on the same connection — the mechanism behind WebSocket connections.

User-Agent
general request

Identifies the client software making the request — browser, bot, or API client.

Vary
caching response

Tells caches which request headers affect the response — so they store separate cached versions per unique combination.

Via
general both

Tracks the intermediate proxies and gateways a message passed through — a breadcrumb trail of the request's journey.

WebSocket Handshake Headers
websocket both

The 5 headers that negotiate a WebSocket connection — turning an HTTP/1.1 connection into a persistent full-duplex WebSocket channel.

WWW-Authenticate
auth response

Tells the client what authentication scheme is required to access the resource — sent on 401 responses.

X-Content-Type-Options
security response

Stops browsers from guessing the content type and forces them to use what the server declared — preventing MIME sniffing attacks.

X-Frame-Options
security response

Controls whether the browser can render this page inside an iframe — preventing clickjacking attacks.

No headers match your search.