HTTP Headers

HTTP Header Name Header Description Example HTTP Header
Accept Content-Types that are acceptable Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Charset Character sets that are acceptable Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Accept-Encoding Acceptable encodings Accept-Encoding: gzip,deflate
Accept-Language Acceptable languages for response Accept-Language: en-us,en
Accept-Ranges What partial content range types this server supports Accept-Ranges: bytes
Age The age the object has been in a proxy cache in seconds Age: 7200
Allow Valid actions for a specified resource. To be used for a 405 Method not allowed Allow: GET,HEAD,POST,OPTIONS,TRACE
Authorization Authentication credentials for HTTP authentication Authorization: Basic UXNrYXBhggRfoopc5NteWFzcw==
Cache-Control Controls how proxies may cache this object Cache-Control: max-age=7200, public
Connection What type of connection the user-agent would prefer Connection: Keep-Alive
Content-Encoding The type of encoding used on the data Content-Encoding: gzip
Content-Language The language the content is in Content-Language: en-us
Content-Length The length of the content in bytes Content-Length: 5356
Content-Location An alternate location for the returned data Content-Location: /index.html
Content-MD5 An MD5 sum of the content of the response Content-MD5: 1167b9c13ad2b6d3694493fc47976c8
Content-Range Where in a full body message this partial message belongs Content-Range: bytes 110-2034/2035
Content-Type The mime type of this content Content-Type: text/html; charset=UTF-8
Date The date and time that the message was sent Date: Sat, 05 Jan 2008 09:27:35 GMT
Host The domain name of the server (for virtual hosting) Host: www.askapache.com
If-Modified-Since Allows a 304 Not Modified to be returned If-Modified-Since: Sat, 05 Jan 2007 09:26:12 GMT
Last-Modified The last modified date for the requested object Last-Modified: Sat, 05 Jan 2008 09:26:12 GMT
Location Used in redirection Location: http://www.askapache.com/
Server A name for the server Server: Apache/2.0.61 (Unix) PHP/4.4.7 mod_ssl/2.0.61 OpenSSL/0.9.7e mod_fastcgi/2.4.2 DAV/2 SVN/1.4.2
User-Agent The user agent string of the user agent User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7

List of HTTP Response Status Codes

1xx Info / Informational

HTTP_INFO - Request received, continuing process.

Indicates a provisional response, consisting only of the Status-Line and optional headers, and is terminated by an empty line.

  • 100 Continue - HTTP_CONTINUE
  • 101 Switching Protocols - HTTP_SWITCHING_PROTOCOLS
  • 102 Processing - HTTP_PROCESSING

2xx Success / OK

HTTP_SUCCESS - The action was successfully received, understood, and accepted.

Indicates that the client’s request was successfully received, understood, and accepted.

  • 200 OK - HTTP_OK
  • 201 Created - HTTP_CREATED
  • 202 Accepted - HTTP_ACCEPTED
  • 203 Non-Authoritative Information - HTTP_NON_AUTHORITATIVE
  • 204 No Content - HTTP_NO_CONTENT
  • 205 Reset Content - HTTP_RESET_CONTENT
  • 206 Partial Content - HTTP_PARTIAL_CONTENT
  • 207 Multi-Status - HTTP_MULTI_STATUS

3xx Redirect

HTTP_REDIRECT - The client must take additional action to complete the request.

Indicates that further action needs to be taken by the user-agent in order to fulfill the request. The action required may be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A user agent should not automatically redirect a request more than 5 times, since such redirections usually indicate an infinite loop.

  • 300 Multiple Choices - HTTP_MULTIPLE_CHOICES
  • 301 Moved Permanently - HTTP_MOVED_PERMANENTLY
  • 302 Found - HTTP_MOVED_TEMPORARILY
  • 303 See Other - HTTP_SEE_OTHER
  • 304 Not Modified - HTTP_NOT_MODIFIED
  • 305 Use Proxy - HTTP_USE_PROXY
  • 306 unused - UNUSED
  • 307 Temporary Redirect - HTTP_TEMPORARY_REDIRECT

4xx Client Error

HTTP_CLIENT_ERROR - The request contains bad syntax or cannot be fulfilled.

Indicates case where client seems to have erred. Except when responding to a HEAD request, the server should include an entity containing an explanation of the error situation, and whether it is a temporary or permanent condition.

  • 400 Bad Request - HTTP_BAD_REQUEST
  • 401 Authorization Required - HTTP_UNAUTHORIZED
  • 402 Payment Required - HTTP_PAYMENT_REQUIRED
  • 403 Forbidden - HTTP_FORBIDDEN
  • 404 Not Found - HTTP_NOT_FOUND
  • 405 Method Not Allowed - HTTP_METHOD_NOT_ALLOWED
  • 406 Not Acceptable - HTTP_NOT_ACCEPTABLE
  • 407 Proxy Authentication Required - HTTP_PROXY_AUTHENTICATION_REQUIRED
  • 408 Request Time-out - HTTP_REQUEST_TIME_OUT
  • 409 Conflict - HTTP_CONFLICT
  • 410 Gone - HTTP_GONE
  • 411 Length Required - HTTP_LENGTH_REQUIRED
  • 412 Precondition Failed - HTTP_PRECONDITION_FAILED
  • 413 Request Entity Too Large - HTTP_REQUEST_ENTITY_TOO_LARGE
  • 414 Request-URI Too Large - HTTP_REQUEST_URI_TOO_LARGE
  • 415 Unsupported Media Type - HTTP_UNSUPPORTED_MEDIA_TYPE
  • 416 Requested Range Not Satisfiable - HTTP_RANGE_NOT_SATISFIABLE
  • 417 Expectation Failed - HTTP_EXPECTATION_FAILED
  • 418 unused - UNUSED
  • 419 unused - UNUSED
  • 420 unused - UNUSED
  • 421 unused - UNUSED
  • 422 Unprocessable Entity - HTTP_UNPROCESSABLE_ENTITY
  • 423 Locked - HTTP_LOCKED
  • 424 Failed Dependency - HTTP_FAILED_DEPENDENCY
  • 425 No code - HTTP_NO_CODE
  • 426 Upgrade Required - HTTP_UPGRADE_REQUIRED

5xx Server Error

HTTP_SERVER_ERROR - The server failed to fulfill an apparently valid request.

Indicate cases in which the server is aware that it has erred or is incapable of performing the request. Except when responding to a HEAD request, the server should include an entity containing an explanation of the error situation, and whether it is a temporary or permanent condition. User agents should display any included entity to the user. These response codes are applicable to any request method.

  • 500 Internal Server Error - HTTP_INTERNAL_SERVER_ERROR
  • 501 Method Not Implemented - HTTP_NOT_IMPLEMENTED
  • 502 Bad Gateway - HTTP_BAD_GATEWAY
  • 503 Service Temporarily Unavailable - HTTP_SERVICE_UNAVAILABLE
  • 504 Gateway Time-out - HTTP_GATEWAY_TIME_OUT
  • 505 HTTP Version Not Supported - HTTP_VERSION_NOT_SUPPORTED
  • 506 Variant Also Negotiates - HTTP_VARIANT_ALSO_VARIES
  • 507 Insufficient Storage - HTTP_INSUFFICIENT_STORAGE
  • 508 unused - UNUSED
  • 509 unused - UNUSED
  • 510 Not Extended - HTTP_NOT_EXTENDED

Helpful HTTP Links

  1. HTTP specification, Section 10
  2. TLS Upgrade within HTTP specification, Section 4
  3. HTTP Status Code Registry
  4. WebDAV specification, Section 11
  5. IANA registry
  6. Adobe Flash status code definitions (ie 408)
  7. Microsoft Internet Information Server Status Codes and Sub-Codes
  8. httplint
  9. HTTP Headers, brief intro.
  10. Common User-Agent Issues

DRP
“The HTTP Distribution and Replication Protocol”
DupSup
“Duplicate Suppression in HTTP”
EARL Schema
“Evaluation and Report Language (EARL) 1.0 Schema”
EDD
“An exploration of dynamic documents”
EdgeArch
“Edge Architecture Specification”
HttpClient
Jakarta Commons HttpClient
HTML4
“HTML 4.01 Specification”
JEPI
“White Paper: Joint Electronic Payment Initiative”
ObjectHeaders
“Object Header lines in HTTP”
OPS-OverHTTP
“Implementation of OPS Over HTTP”
OPTIONS messages
“Specification of HTTP/1.1 OPTIONS messages”
P3P
“The Platform for Privacy Preferences 1.0 (P3P1.0) Specification”
PEP
“PEP - an Extension Mechanism for HTTP”
PICSLabels
“PICS Label Distribution Label Syntax and Communication Protocols, Version 1.1″
Proxy Notification
“Notification for Proxy Caches”
RDF
“Resource Description Framework (RDF): Concepts and Abstract Syntax”
RDF-PRIMER
RDF Primer
RFC2068
“Hypertext Transfer Protocol — HTTP/1.1″
RFC2109
“HTTP State Management Mechanism”
RFC2183
“Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field”
RFC2227
“Simple Hit-Metering and Usage-Limiting for HTTP”
RFC2295
“Transparent Content Negotiation in HTTP”
RFC2310
“The Safe Response Header Field”
RFC2324
“Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)”
RFC2397
“The ‘data’ URL scheme”
RFC2518
“HTTP Extensions for Distributed Authoring — WEBDAV”
RFC2616
“Hypertext Transfer Protocol — HTTP/1.1″
RFC2617
“HTTP Authentication: Basic and Digest Access Authentication”
RFC2660
“The Secure HyperText Transfer Protocol”
RFC2774
“An HTTP Extension Framework”
RFC2965
“HTTP State Management Mechanism”
RFC3229
“Delta encoding in HTTP”
RFC3230
“Instance Digests in HTTP”
RFC3253
“Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning)”
RFC3648
“Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol”
RFC3986
“Uniform Resource Identifier (URI): Generic Syntax”
RFC4229
“HTTP Header Field Registrations”
SOAP1.1
“Simple Object Access Protocol (SOAP) 1.1″
UA Attributes
“User-Agent Display Attributes Headers”
WIRE
“WIRE - W3 Identifier Resolution Extensions”