What is 304 Not Modified Response? The 304 Not Modified HTTP response code is used to indicate that the requested resource has not been modified since the last time it was accessed, and there is no need to transmit it again. This response code implicitly redirects the client to a cached resource.
When a client such as a browser or crawler requests a resource for the first time, the server sends the requested resource (with the 200 OK HTTP code) and a unique hash code called the ETag. The client records the time it requested the page/resource.
On subsequent requests, the client sends conditional HTTP requests that include either the If-None-Match or If-Modified-Since request headers. If the ETag value in the If-None-Match header matches the server’s ETag, or if the resource has not been modified since the date and time provided in the If-Modified-Since header, the server responds with the 304 HTTP code.
If both If-None-Match and If-Modified-Since are included in the request, If-None-Match takes precedence.
When the client receives the 304 Not Modified HTTP code, it shows the cached version of the resource to the user. Therefore, the 304 code is considered a client-side redirection code.
Why Is the 304 Not Modified response code important?
The significance of the 304 response code lies in its ability to provide caching opportunities, which may not be as important for smaller websites but can be highly beneficial for larger ones. This is especially true in terms of crawl budget optimization for Google’s crawler, as it allows the crawler to avoid recrawling pages that have not been modified, thereby enabling it to crawl more new and updated pages instead.