RFC 9110 | RFC 9111 | RFC 6265 | Fetch

HTTP Headers & RFC Reference

Search HTTP request and response headers, RFC references, syntax examples, browser notes, and common implementation mistakes.

Share this tool

10

Request

10

Response

7

Content

8

Cache

7

Security

8

CORS

2

Cookie

4

Authentication

Look Up an HTTP Header

Enter a header name, RFC, category, or keyword.

Quick Load:

Looking up header reference...

Search a header name, category, keyword, or RFC reference.

Full HTTP Header Reference

Filter the server-rendered list by category, status, direction, or keyword.

Standard

Lists media types the client can receive.

Request request RFC 9110
Accept: application/json
Standard

Lists content codings the client can decode.

Request request RFC 9110
Accept-Encoding: gzip, br, zstd
Standard

Lists preferred natural languages.

Request request RFC 9110
Accept-Language: en-US, en;q=0.9
Deprecated

Legacy header for acceptable character sets.

Request request RFC 9110
Accept-Charset: utf-8
Standard

Carries credentials for the target resource.

Authentication request RFC 9110
Authorization: Bearer eyJhbGciOi...
Standard

Challenges the client to authenticate.

Authentication response RFC 9110
WWW-Authenticate: Bearer realm="api"
Standard

Carries credentials for an intermediary proxy.

Authentication request RFC 9110
Proxy-Authorization: Basic dXNlcjpwYXNz
Standard

Challenges the client to authenticate to a proxy.

Authentication response RFC 9110
Proxy-Authenticate: Basic realm="proxy"
Standard

Identifies the media type of the message body.

Content both RFC 9110
Content-Type: application/json; charset=utf-8
Standard

States the body length in octets.

Content both RFC 9110
Content-Length: 348
Standard

Identifies content codings applied to the body.

Content both RFC 9110
Content-Encoding: gzip
Standard

Identifies the intended language of the representation.

Content response RFC 9110
Content-Language: en-US
Standard

Identifies a URI for the representation in the response body.

Content response RFC 9110
Content-Location: /reports/current.json
Standard

Suggests inline display or download handling for a body.

Content response RFC 6266
Content-Disposition: attachment; filename="report.pdf"
Standard

Identifies transfer codings for HTTP/1.1 message framing.

Content both RFC 9112
Transfer-Encoding: chunked
Standard

Identifies the authority of the target URI.

Request request RFC 9110
Host: api.example.com
Standard

Identifies software making the request.

Request request RFC 9110
User-Agent: Mozilla/5.0 ...
Standard

Identifies the referring resource URL when available.

Request request RFC 9110
Referer: https://example.com/docs
Standard

Identifies the origin that initiated a request.

Request request RFC 9110
Origin: https://app.example.com
Standard

Provides a target URI for redirects or newly created resources.

Response response RFC 9110
Location: https://example.com/new-path
Standard

Requests part of a representation.

Request request RFC 9110
Range: bytes=0-1023
Standard

Describes the byte range carried in a partial response.

Response response RFC 9110
Content-Range: bytes 0-1023/4096
Standard

Advertises whether range requests are supported.

Response response RFC 9110
Accept-Ranges: bytes
Standard

Expresses typed links related to the current resource.

Response both RFC 8288
Link: <https://api.example.com/page/2>; rel="next"
Standard

Tells clients when to retry after rate limiting or temporary unavailability.

Response response RFC 9110
Retry-After: 120
Standard

Controls caching, freshness, revalidation, and storage behavior.

Cache both RFC 9111
Cache-Control: public, max-age=3600
Standard

Provides an entity tag for cache validation and concurrency checks.

Cache response RFC 9110
ETag: "v3-report"
Standard

Sends ETags the client already has for conditional requests.

Cache request RFC 9110
If-None-Match: "v3-report"
Standard

States when the representation was last changed.

Cache response RFC 9110
Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT
Standard

Asks for the resource only if modified after a date.

Cache request RFC 9110
If-Modified-Since: Tue, 15 Nov 1994 12:45:26 GMT
Standard

Gives an absolute expiration time for cached content.

Cache response RFC 9111
Expires: Tue, 15 Nov 1994 12:45:26 GMT
Standard

Lists request headers that affect the selected representation.

Cache response RFC 9111
Vary: Accept-Language, Accept-Encoding
Standard

Indicates how long a cached response has been stored.

Cache response RFC 9111
Age: 42
Legacy

Legacy cache-related header retained for old clients.

Legacy request RFC 9111
Pragma: no-cache
Standard

Sends stored cookies to the server.

Cookie request RFC 6265
Cookie: session=abc123; theme=dark
Standard

Asks the user agent to store a cookie.

Cookie response RFC 6265
Set-Cookie: session=abc123; Path=/; Secure; HttpOnly; SameSite=Lax
Browser Platform

Tells browsers which origin may read a cross-origin response.

CORS response
Access-Control-Allow-Origin: https://app.example.com
Browser Platform

Lists methods allowed by a CORS preflight response.

CORS response
Access-Control-Allow-Methods: GET, POST, OPTIONS
Browser Platform

Lists request headers allowed by CORS preflight.

CORS response
Access-Control-Allow-Headers: Authorization, Content-Type
Browser Platform

Allows browsers to expose credentialed CORS responses.

CORS response
Access-Control-Allow-Credentials: true
Browser Platform

Lists response headers visible to browser JavaScript.

CORS response
Access-Control-Expose-Headers: X-Request-ID, RateLimit-Remaining
Browser Platform

Controls how long browsers may cache a CORS preflight result.

CORS response
Access-Control-Max-Age: 600
Browser Platform

Names the method for an upcoming CORS request.

CORS request
Access-Control-Request-Method: PATCH
Browser Platform

Names headers for an upcoming CORS request.

CORS request
Access-Control-Request-Headers: authorization, content-type
Browser Platform

Controls which content sources the browser may load or execute.

Security response
Content-Security-Policy: default-src 'self'; script-src 'self'
Browser Platform

Reports CSP violations without enforcing the policy.

Security response
Content-Security-Policy-Report-Only: default-src 'self'; report-to csp
Standard

Tells browsers to use HTTPS for future requests to the host.

Security response RFC 6797
Strict-Transport-Security: max-age=31536000; includeSubDomains
Browser Platform

Prevents some browser MIME sniffing when set to nosniff.

Security response
X-Content-Type-Options: nosniff
Legacy

Legacy clickjacking protection header.

Security response
X-Frame-Options: DENY
Browser Platform

Controls how much referrer information browsers send.

Security response
Referrer-Policy: strict-origin-when-cross-origin
Browser Platform

Controls access to browser features in documents and frames.

Security response
Permissions-Policy: geolocation=(), camera=()
Structured Field

Defines reporting endpoints for browser-generated reports.

Structured response
Report-To: {"group":"csp","max_age":10886400,"endpoints":[{"url":"https://reports.example.com/csp"}]}
Browser Platform

Provides browser brand client hints.

Request request
Sec-CH-UA: "Chromium";v="124", "Not:A-Brand";v="99"
Standard

Indicates when the response was generated.

Response response RFC 9110
Date: Tue, 15 Nov 1994 12:45:26 GMT
Standard

Identifies server software in a response.

Response response RFC 9110
Server: nginx
Standard

Standard proxy header for original client and protocol information.

Proxy both RFC 7239
Forwarded: for=203.0.113.43;proto=https;host=example.com
Standard

Communicates the maximum request quota in a rate-limit window.

Response response RFC 9333
RateLimit-Limit: 100
Standard

Communicates remaining requests in the current rate-limit window.

Response response RFC 9333
RateLimit-Remaining: 42
Standard

Communicates when rate-limit quota resets.

Response response RFC 9333
RateLimit-Reset: 60

Common Non-standard Headers

These headers are commonly seen in proxies, servers, and platforms, but they are not standards-track HTTP headers.

Non-standard

Lists client and proxy IP addresses added by intermediaries.

Proxy request Non-standard
X-Forwarded-For: 203.0.113.43, 198.51.100.17
Non-standard

Communicates the original protocol used by the client.

Proxy request Non-standard
X-Forwarded-Proto: https
Non-standard

Carries one client IP address from a proxy to an upstream app.

Proxy request Non-standard
X-Real-IP: 203.0.113.43
Non-standard

Carries a request identifier for tracing and logs.

Proxy both Non-standard
X-Request-ID: req_01HZ...
Non-standard

Carries a correlation identifier across systems.

Proxy both Non-standard
X-Correlation-ID: 8f2d6a2c0d

HTTP Headers & RFC Reference

HTTP headers are name-value fields that describe requests, responses, caching, authentication, cookies, content negotiation, browser security, and proxy behavior. This reference is built for fast lookup: search a header, read the syntax, copy an example, and follow the official RFC or standards link when you need the full details.

Are HTTP Header Names Case-Sensitive?

HTTP header field names are case-insensitive. `Content-Type`, `content-type`, and `CONTENT-TYPE` identify the same field name. Header values are different: value syntax and case-sensitivity depend on the specific header.

Request vs Response Headers

Request headers are sent by clients to describe what they want or what credentials they present. Response headers are sent by servers to describe what they returned, how it can be cached, and how browsers should handle it. Some headers, such as `Content-Type`, can appear in both directions.

Security Headers

Security headers such as `Content-Security-Policy`, `Strict-Transport-Security`, `X-Content-Type-Options`, `Referrer-Policy`, and `Permissions-Policy` help browsers enforce safer defaults. They reduce common risks, but they do not replace secure application code, safe authentication, or input validation.

CORS Headers

CORS headers control whether browsers expose cross-origin responses to frontend JavaScript. CORS is a browser security model, not a server-to-server access-control system. A server can return `200 OK` and still fail in the browser if preflight or credential rules are wrong.

Cache Headers

`Cache-Control`, `ETag`, `Last-Modified`, `Vary`, `Age`, and `Expires` shape browser, proxy, and CDN cache behavior. Use `no-store` for highly sensitive responses, and use validators such as `ETag` when cached content should be revalidated instead of downloaded again.

Cookies and Authentication Headers

`Cookie` and `Set-Cookie` handle browser state. Sensitive session cookies should usually include `Secure`, `HttpOnly`, and a deliberate `SameSite` policy. `Authorization` and `WWW-Authenticate` handle authentication schemes such as Bearer and Basic credentials.

RFCs and Standards

Modern HTTP semantics are centered on RFC 9110, while HTTP caching is covered by RFC 9111. Cookies are specified in RFC 6265, and Structured Field Values are defined by RFC 8941. Browser-specific behavior such as CORS is primarily specified by the WHATWG Fetch Standard.

Related Tools

References

FAQ

Are HTTP headers case-sensitive?

Header names are case-insensitive. Header values depend on the individual header's grammar and semantics.

What is the difference between headers and status codes?

Status codes summarize the result of a request. Headers carry metadata about the request, response, body, caching, authentication, security policy, and browser behavior.

Which headers improve security?

Common security headers include `Content-Security-Policy`, `Strict-Transport-Security`, `X-Content-Type-Options`, `Referrer-Policy`, and `Permissions-Policy`.

Why does CORS fail even when the server returns 200?

The network request can succeed while the browser blocks JavaScript from reading the response because the CORS headers do not permit that origin, method, header, or credential mode.

Can JavaScript set any HTTP header?

No. Browsers control or forbid some headers, including many connection, host, cookie, origin, and CORS preflight headers.