Below is a "cheatsheet" for the HTTP 1.1 specification
| HTTP header | Quick definition | Agent |
|---|---|---|
| Accept | media types handled by client | Client |
| Accept-Charset | charsets understood by client | Client |
| Accept-Encoding | encodings understood by client | Client |
| Accept-Language | languages understood by client (or ideally by user) | Client |
| Accept-Ranges | whether server understands range requests (and what type) | Server |
| Age | how long the content has been cached | Cache |
| Allow | methods supported for that URL | Server |
| Authorization | HTTP authentication user name and password | Client |
| Cache-Control | various sub-fields indicating if the file can be cached | Server |
| Connection | To distinguish persistent and close-able connections | Client, Server |
| Content-Encoding | Encodings used - for example gzip compression | Server |
| Content-Language | Language of page | Server |
| Content-Length | Size of what is being sent from server or POSTed by UA | Client, Server |
| Content-Location | The "real" URL of a page | Server |
| Content-MD5 | MD5 hash for integrity check of the entity-body | Client, Server |
| Content-Range | What part of the document is being sent | Server |
| Content-Type | What type of file is sent | Server |
| Date | Current date | Server |
| ETag | Short "signature" of that version of a file, can be used to check if it is updated | Server |
| Expect | Client asks for specific server behaviour | Client |
| Expires | how long the content may be cached | Server |
| From | E-mail of user visiting site (anyone actually using this??) | Client |
| Host | Domain name of server one is requesting page from | Client |
| If-Match | If page still matches previously received ETag "signature" | Client |
| If-Modified-Since | If page has been changed since a certain date | Client |
| If-None-Match | If page does not match previously received ETag "signature" | Client |
| If-Range | Request only part of a file if it isn't updated | Client |
| If-Unmodified-Since | If page hasn't been changed since a certain date | Client |
| Last-Modified | Date of last time the file was changed | Server |
| Location | Send the request to another place | Server |
| Max-Forwards | Limit the number of proxy servers that may process the request | Client |
| Pragma | General "whatever" tag, like HTML's META | Client, Server, Cache |
| Proxy-Authenticate | Request proxy user name and password | Proxy |
| Proxy-Authorization | Send proxy user name and password | Client |
| Range | Request only part of a file | Client |
| Referer | URL of page with a link that took you to the current | Client |
| Retry-After | Used with error messages to indicate when service may be available again | Server |
| Server | Name of server software | Server |
| TE | Acceptable transfer-codings | Client |
| Trailer | Used with transfer-coding to show what HTTP headers are available in "trailer" of message | Server |
| Transfer-Encoding | Type of transformation used between sender and recipient | Server |
| Upgrade | Client indicates that it supports other protocols/versions than HTTP/1.1 | Client |
| User-Agent | Name of UA software | Client |
| Vary | For content-negotiation, shows criteria used for selecting that content | Server |
| Via | Proxy servers note that they've been involved in transferring this content | Proxy |
| Warning | Human- or proxy-readable message about the state of the contents | Server |
| WWW-Authenticate | Request user name and password | Server |