An HTTP header is a field of an HTTP request or response that passes additional context and metadata about the request or response. For example, a request message can use headers to indicate it's preferred media formats, while a response can use header to indicate the media format of the returned body. Headers are case-insensitive, begin at the start of a line and are immediately followed by a
':' and a header-dependent value. The value finishes at the next CRLF or at the end of the message.
The current specification has a number of header categories, including:
- Request header: Headers containing more information about the resource to be fetched or about the client itself.
- Response header: Headers with additional information about the response, like its location or about the server itself (name, version, …).
- Representation metadata header: metadata about the resource in the message body (e.g. language, length, media type, etc.).
Older versions of the specification referred to:
- General header: Headers applying to both requests and responses but with no relation to the data eventually transmitted in the body.
- Entity header: Headers containing more information about the body of the entity, like its content length or its MIME-type (this is a superset of what are now referred to as the Representation metadata headers)
A basic request with one header:
GET /example.http HTTP/1.1 Host: example.com
Redirects have mandatory headers (
302 Found Location: /NewPage.html
A typical set of headers:
304 Not Modified Access-Control-Allow-Origin: * Age: 2318192 Cache-Control: public, max-age=315360000 Connection: keep-alive Date: Mon, 18 Jul 2016 16:06:00 GMT Server: Apache Vary: Accept-Encoding Via: 1.1 3dc30c7222755f86e824b93feb8b5b8c.cloudfront.net (CloudFront) X-Amz-Cf-Id: TOl0FEm6uI4fgLdrKJx0Vao5hpkKGZULYN2TWD2gAWLtr7vlNjTvZw== X-Backend-Server: developer6.webapp.scl3.mozilla.com X-Cache: Hit from cloudfront X-Cache-Info: cached