HTTP Header Fields

Understanding HTTP headers and HTTP header fields

HTTP headers provide vital information required for a HTTP transaction send via http protocol.

The general HTTP header format contains colon-separated name - value pairs in the header field. Each of the name-value pair end with a carriage return (CR) and a line feed (LF) character sequence. Empty fields at the end of each header indicate the end of the header.

The common header format followed by applications looks like:

HTTP Header Format

Types of HTTP headers

There are four types of HTTP message headers. They are:

  • General Header
  • Request Header
  • Response Header
  • Entity Header

General Header

General Header fields have common applicability in request and response messages. The header fields apply only to the transmitted message and do not apply on the transferred entity.

The structure of a general header looks like:

HTTP Header Structure


Cache-control field specifies directives that have to be followed by every caching mechanism on a request and response system.

Connection field allows the sender to specify options required for a connection. The connection header has the following format:

HTTP Connection Header

Date field represents the date and time during the initiation of the message. The date format specified in HTTP look like:

HTTP Header Date and Time Format

Pragma field helps to include implementation specific directive applicable to any recipient on a request and response system.

HTTP Header Pragma Field

Trailer field value specifies whether a set of header fields in message trailer is encoded with chunk transfer-coding.

HTTP Header Trailer Field

Transfer-Encoding field indicate whether any type of transformation is applied to the message body.

HTTP Header Transfer-Encoding Field

Upgrade field enables clients to specify additional supported communication protocols. It also enables the server to switch protocols with the additional protocols.

HTTP Header Upgrade Field

Via field are mandatory fields used by proxies and gateways which indicate intermediate protocols. It also indicates request recipient between user-agent and server and response between server and client.

HTTP Header Via Field

Warning field carries additional information on message status and message transformations which are not reflected in the message.

Warning headers are usually sent with responses.

HTTP Warning Headers

HTTP Request Header

The request header field allows clients to additionally pass request information and client information to the server.

The structure of a request header looks like:

HTTP Request Header


Accept field specifies media types which are acceptable for response.

HTTP Header Accept Filed


'*' is used to group media types in range

'*/*' indicate all media types

'type/*' indicate all subtypes of a type

Accept-Charset field indicates response acceptable character sets. It makes clients capable to understand special-purpose character sets to signal the server to represent the document in these character sets.

HTTP Header Accept-Charset Filed

Accept-Encoding field is similar to Accept, restricts response acceptable content-coding.

HTTP Header Accept-Encoding Filed

Accept-Language field is similar to Accept, restricts preferred set of natural languages.

HTTP Header Accept-Language Filed

Authorization field is for user agents who wish to authenticate themselves with the server.

HTTP Header Authorization Filed

Expect field indicates server behaviors required by a client.

HTTP Header Expect Filed

From field contains e-mail address of a user who controls the requesting user-agent.

HTTP Header From Filed

Host field specifies the internet host and requested resource port number from user URI.

HTTP Header Host Filed

If-Match field is used to make conditional methods.

HTTP Header If-Match Filed

If-Modified-Since field is used to make a conditional method. If the requested variant is not modified within the specified time, the entity will not be returned from the server.

HTTP Header If-Modified-Since Filed

If-None-Match field allows efficient update of cache information with minimum transaction overhead.

HTTP Header If-None-Match Filed

If-Range field allows clients to receive part of the missing entity or otherwise, clients can ask to send the entire new entity.

HTTP Header If-Range Filed

If-Unmodified-Since field allows the server to perform requested operation if it has not been modified since the time specified in this field.

HTTP Header If-Unmodified-Since Filed

Max Forwards field provides mechanisms with TRACE and OPTIONS methods to limit the request forwarding proxies or gateways.

HTTP Header Max Forwards Filed

Proxy Authorization field allows client to identify to secure proxy.

HTTP Header Proxy Authorization Filed

Range field specifies the HTTP entities in HTTP messages represented as a sequence of bytes. HTTP retrieval request requests one or more sub range of entity using GET methods.

Referrer field allows clients to specify the address URI of the resource from which Request-URI is found.

HTTP Header Referrer Filed

TE field indicates extension transfer-coding it can accept in the response. Additionally, it indicates whether it will accept trailer fields in chunk transfer-coding.

HTTP Header TE Filed

User-Agent field contains information about the requesting user-agent.

HTTP Header User-Agent Filed

HTTP Response Header

The response header field allows the server to pass additional information through the responses other than simple Status-Line response.

The structure of the response header looks like:

HTTP Response Header Structure


Accept-Ranges field enables servers to indicate acceptance of resource range requests.

HTTP Header Accept-Ranges Filed

Age field indicates sender the approximate amount of time since server responded.
HTTP Header Age Filed

ETag field provides current value of the entity tag for a request.

HTTP Header ETag Filed

Location field redirects recipients to locations other than Request-URI to complete identification of a new resource.

HTTP Header Location Filed

Proxy-Authenticate field is a mandatory inclusion for proxy authentication response.

HTTP Header Proxy-Authenticate Filed

Retry-After field is used as a response when a service is unavailable to indicate the length of period for which service will remain unavailable to the client.

HTTP Header Retry-After Filed

Server field contains information about software used by server to handle requests.

HTTP Header Server Filed

Vary field indicates request field that determine whether a cache is eligible to use the response of a request without revalidation of the response.

HTTP Header Vary Filed

WWW-Authenticate field are used when a response message is unauthorized.

HTTP Header WWW-Authenticate Filed

HTTP Entity Header

Entity header fields define metainformation about the entity-body or the requested resource. The entity-header format looks like:

HTTP Entity Header


Allow field list the set of methods supported by Request-URI identified resources.

HTTP Header Allow Filed

Content-Encoding field is used as a media-type modifier.

HTTP Header Content-Encoding Filed

Content-Language field describes natural language for clients of an entity.

HTTP Header Content-Language Filed

Content-Length field indicates the size of an entity represented in decimal number.

HTTP Header Content-Length Filed

Content-Location field provides resource location for an entity when it is accessible from a location other than Requested-URI.

HTTP Header Content-Location Filed

Content-MD5 field provides message integrity check (MIC) using an MD5 digest on the entity body.

HTTP Header Content-MD5 Filed

Content-Range field specifies where partial body of the full entity-body should be applied.

HTTP Header Content-Range Filed

Content-Type field indicates whether the media type of the entity body is sent to the recipient or GET method is used to send requests.

HTTP Header Content-Type Filed

Expires field provides the date/time after which the response becomes stale.

HTTP Header Expires Filed

Last Modified field indicates the date and time of last modification of the variant.

HTTP Header Last Modified Filed

The order in which field name appears in the header when received is insignificant. Conventionally general headers are placed first, followed by request or response header with entity header at the end.

Copyright Notice: Please don't copy or translate this article without prior written permission from the

HTTP Debugger is a proxy-less HTTP analyzer for developers that provides the ability to capture and analyze HTTP headers, cookies, POST params, HTTP content and CORS headers from any browser or desktop application. Awesome UI and very easy to use. Not a proxy, no network issues!
Download FREE 7-Day Trial

HTTP Debugger

HTTP Debugger - Professional HTTP Analyzer Debug HTTP API calls to a back-end and between back-ends. Very easy to use. Not a proxy, no network issues! Download Free Trial