HTTP headers
ClientQuick reference for frequently used HTTP header fields: typical direction (request, response, or both), and a short explanation—pair with MIME types, methods, and status codes when debugging APIs or proxies.
Headers in debugging workflows
Request headers carry auth, content negotiation, and caching hints; response headers carry cookies, cache policy, and security directives. Filter this list when you compare a working curl request to a failing browser call or when you tune CDN behavior.
For payload typing, cross-check names with the MIME type lookup; for verb semantics, use HTTP methods and status codes so the full exchange is consistent.
Reference
?
Names follow common spelling; custom X- and vendor headers are common in the wild—always read your framework and API docs.
68 headers
Try examples
| Header | Direction | Summary |
|---|---|---|
| Accept | request | Advertises which content types the client can process (MIME types with q weights).Direction: request |
| Accept-CH | response | Asks the client to send Client Hints (viewport, DPR, etc.) on later requests.Direction: response |
| Accept-Encoding | request | Lists encodings the client understands (gzip, br, zstd)—enables compression.Direction: request |
| Accept-Language | request | Preferred natural languages for the response (locale negotiation).Direction: request |
| Accept-Ranges | response | Indicates the server supports range requests (often bytes) for partial content.Direction: response |
| Access-Control-Allow-Origin | response | CORS: which origins may read the response in browsers (* or a single origin).Direction: response |
| Age | response | Seconds the response has been in a cache (shared caches).Direction: response |
| Allow | response | Lists methods allowed on the resource (often with 405 Method Not Allowed).Direction: response |
| Alt-Svc | response | Alternative services (HTTP/3, alternate host:port) the client may use.Direction: response |
| Authorization | request | Credentials for the target resource (Bearer, Basic, Digest schemes).Direction: request |
| Cache-Control | both | Directives for caches and intermediaries (max-age, no-store, private, immutable, …).Direction: both |
| Connection | both | Controls persistence (keep-alive, close) and hop-by-hop header names.Direction: both |
| Content-Disposition | both | Hints filename for downloads (attachment) or inline display; multipart boundaries.Direction: both |
| Content-Encoding | both | Transformations applied to the body (gzip, br)—distinct from Transfer-Encoding.Direction: both |
| Content-Language | both | Language(s) of the intended audience for the enclosed representation.Direction: both |
| Content-Length | both | Byte length of the message body (when known; not used with chunked encoding).Direction: both |
| Content-Location | both | URI of the specific variant returned (may differ from the request URI).Direction: both |
| Content-Range | both | Byte range of a partial body (206 responses, multipart ranges).Direction: both |
| Content-Security-Policy | response | Restricts script, style, and resource loads to mitigate XSS and injection.Direction: response |
| Content-Type | both | MIME type and optional charset/parameters of the body (JSON, HTML, multipart).Direction: both |
| Cookie | request | Previously stored cookies the client sends to the origin (name=value pairs).Direction: request |
| Cross-Origin-Opener-Policy | response | Isolates the browsing context from cross-origin documents (Spectre-related).Direction: response |
| Cross-Origin-Resource-Policy | response | Limits which sites may embed the resource (same-site, same-origin, cross-origin).Direction: response |
| Date | both | When the message originated (HTTP-date); required on responses in HTTP/1.1.Direction: both |
| ETag | response | Opaque validator for caching and conditional requests (If-None-Match).Direction: response |
| Expect | request | Expects a 100 Continue before sending a large body (rare with modern clients).Direction: request |
| Expires | response | Legacy expiration time; prefer Cache-Control in modern apps.Direction: response |
| Forwarded | request | Proxies add client-facing host/proto (RFC 7239)—similar role to X-Forwarded-*.Direction: request |
| From | request | Human-readable email of the user agent (rare; not for authentication).Direction: request |
| Host | request | Authority (hostname[:port])—required in HTTP/1.1; drives virtual hosting.Direction: request |
| If-Match | request | Perform the method only if the ETag still matches (optimistic concurrency).Direction: request |
| If-Modified-Since | request | Return body only if changed after this date—else often 304 Not Modified.Direction: request |
| If-None-Match | request | Return 304 if ETag still matches (GET) or fail if it matches (other methods).Direction: request |
| If-Range | request | For range requests: send ranges only if the validator still matches.Direction: request |
| If-Unmodified-Since | request | Perform only if the resource has not changed since the given date.Direction: request |
| Last-Modified | response | Last modification time of the representation—used with If-Modified-Since.Direction: response |
| Link | response | Typed links (RFC 8288)—pagination, preconnect, alternate formats.Direction: response |
| Location | response | URI for redirects (3xx) or created resources (201)—clients follow Location.Direction: response |
| Origin | request | Scheme + host + port of the initiating page—sent with CORS and POST semantics.Direction: request |
| Permissions-Policy | response | Controls powerful features (camera, geolocation, payment) in embedded frames.Direction: response |
| Pragma | both | Legacy cache directive (no-cache); prefer Cache-Control for HTTP/1.1 caches.Direction: both |
| Proxy-Authenticate | response | Authentication scheme the proxy requires (407 Proxy Authentication Required).Direction: response |
| Proxy-Authorization | request | Credentials for a proxy that asked for authentication.Direction: request |
| Range | request | Requests a sub-range of the representation (bytes=…)—206 Partial Content.Direction: request |
| Referer | request | URI of the previous page (misspelling is historical); privacy-sensitive.Direction: request |
| Referrer-Policy | both | Controls how much referrer information is sent on navigations and subrequests.Direction: both |
| Retry-After | response | How long to wait before retrying (429, 503) or after a redirect.Direction: response |
| Sec-Fetch-Dest | request | Fetch metadata: destination (document, image, empty)—browser security signals.Direction: request |
| Sec-Fetch-Mode | request | Fetch metadata: mode (cors, no-cors, navigate, same-origin).Direction: request |
| Sec-Fetch-Site | request | Fetch metadata: relationship to initiator (same-origin, cross-site, none).Direction: request |
| Server | response | Software information about the origin server (often minimized for security).Direction: response |
| Server-Timing | response | Server processing metrics (database, cache) for performance insight.Direction: response |
| Set-Cookie | response | Instructs the client to store a cookie (HttpOnly, Secure, SameSite, …).Direction: response |
| Strict-Transport-Security | response | HSTS: require HTTPS for a period (includeSubDomains, preload cautiously).Direction: response |
| TE | request | Transfer encodings acceptable in the response (trailers).Direction: request |
| Trailer | both | Names headers that will appear after the chunked body (trailers).Direction: both |
| Transfer-Encoding | both | Hop-by-hop encodings (chunked)—distinct from Content-Encoding.Direction: both |
| Upgrade | both | Requests a protocol switch (WebSocket, HTTP/2 upgrade—context-dependent).Direction: both |
| User-Agent | request | Client software token string—often parsed for compatibility; can be spoofed.Direction: request |
| Vary | response | Tells caches which request headers affect the selected representation.Direction: response |
| Via | both | Trace of intermediaries (proxies, gateways) the message passed through.Direction: both |
| WWW-Authenticate | response | Authentication scheme and realm for the resource (401 Unauthorized).Direction: response |
| X-Content-Type-Options | response | nosniff reduces MIME sniffing attacks—keep with explicit Content-Type.Direction: response |
| X-Forwarded-For | request | De-facto chain of client IPs through proxies—**not** authenticated; validate at the edge.Direction: request |
| X-Forwarded-Host | request | Original Host the client used—set by reverse proxies for routing.Direction: request |
| X-Forwarded-Proto | request | Original scheme (http/https) as seen by the edge—used behind TLS terminators.Direction: request |
| X-Frame-Options | response | Legacy clickjacking mitigation (DENY, SAMEORIGIN); prefer CSP frame-ancestors.Direction: response |
| X-Request-ID | both | Correlation id for tracing a single request across services (format not standardized).Direction: both |
Common use cases
- Look up what Cache-Control or Vary imply before tuning CDN or browser caching.
- See which headers are request-only versus response-only when reading raw HTTP logs.
- Cross-check Set-Cookie attributes and CORS-related headers next to status codes and methods.
Common mistakes to avoid
Trusting X-Forwarded-* as proof of client identity
Clients can forge headers unless your edge proxy strips and replaces them—validate at the trusted boundary.
Assuming header names are case-sensitive on the wire
HTTP field names are case-insensitive; this table uses conventional Title-Case for readability.
Mixing Content-Encoding and Transfer-Encoding
Content-Encoding applies to the payload bytes; Transfer-Encoding is hop-by-hop (e.g. chunked).
FAQ
Is my filter text sent to Toolcore?
No. Search and display run entirely in your browser.
Why is some spelling “Referer”?
The Referer header’s name is the historical misspelling from the HTTP specification—servers expect that exact spelling.
Where are HTTP/2 and HTTP/3 pseudo-headers?
:method, :path, and :status are pseudo-headers on those protocols—this page focuses on common HTTP/1.1-style named fields you still see in APIs and logs.
More tools
Related utilities you can open in another tab—mostly client-side.
HTTP methods
ClientGET, POST, PUT, PATCH, DELETE—safe, idempotent, body usage—quick reference for APIs, client-side.
HTTP status codes
ClientHTTP response status reference: search 1xx–5xx, short meanings, copy status lines—client-side.
MIME types & file extensions
ClientLook up common MIME types from extensions (and vice versa)—filterable table, copy Content-Type—client-side.
TCP & UDP ports
ClientWell-known and common port numbers with IANA-style service names—filter by port, protocol, or keyword—client-side.