The HTTP 304 Not Modified client redirection response code indicates that there is no need to retransmit the requested resources. It is an implicit redirection to a cached resource. This happens when the request method is {{glossary("safe")}}, like a {{HTTPMethod("GET")}} or a {{HTTPMethod("HEAD")}} request, or when the request is conditional and uses a {{HTTPHeader("If-None-Match")}} or a {{HTTPHeader("If-Modified-Since")}} header.
If the equivalent {{HTTPStatus("200")}} OK response would have included the headers {{HTTPHeader("Cache-Control")}}, {{HTTPHeader("Content-Location")}}, {{HTTPHeader("Date")}}, {{HTTPHeader("ETag")}}, {{HTTPHeader("Expires")}}, and {{HTTPHeader("Vary")}}.
Many developer tools' network panels of browsers create extraneous requests leading to 304 responses, so that access to the local cache is visible to developers.
Status
304 Not Modified
Specifications
| Specification | Title |
|---|---|
| {{RFC("7232", "304 Not Modified" , "4.1")}} | Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests |
Browser compatibility
The compatibility table in this page is generated from structured data. If you’d like to contribute to the data, please check out https://github.com/mdn/browser-compat-data/README.md and send us a pull request.
{{Compat}}
See also
- {{HTTPHeader("If-Modified-Since")}}
- {{HTTPHeader("If-None-Match")}}