The HTTP HEAD method requests the headers that are returned if the specified resource would be requested with an HTTP {{HTTPMethod("GET")}} method. Such a request can be done before deciding to download a large resource to save bandwidth, for example.
A response to a HEAD method should not have a body. If so, it must be ignored. Even so, {{glossary("Entity header", "entity headers")}} describing the content of the body, like {{HTTPHeader("Content-Length")}} may be included in the response. They don't relate to the body of the HEAD response, which should be empty, but to the body of similar request using the {{HTTPMethod("GET")}} method would have returned as a response.
If the result of a HEAD request shows that a cached resource after a {{HTTPMethod("GET")}} request is now outdated, the cache is invalidated, even if no GET request has been made.
| Request has body | No |
|---|---|
| Successful response has body | No |
| {{Glossary("Safe")}} | Yes |
| {{Glossary("Idempotent")}} | Yes |
| {{Glossary("Cacheable")}} | Yes |
| Allowed in HTML forms | No |
Syntax
HEAD /index.html
Specifications
| Specification | Title |
|---|---|
| {{RFC("7231", "HEAD", "4.3.2")}} | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
Browser compatibility
To contribute to this compatibility data, please write a pull request against this file: https://github.com/mdn/browser-compat-data/blob/master/http/methods.json.
{{Compat}}
See also
- {{HTTPMethod("GET")}}