HTTP 304 Not Modified vs 410 Gone
HTTP 304 (Not Modified) is a 3xx Redirection response, while 410 (Gone) is a 4xx Client Error response. 304 indicates that the resource has not been modified since the last request. The client can use its cached copy. In contrast, 410 means that the resource is permanently gone and will not be available again. Unlike 404, this is intentional and permanent.
Description
The resource has not been modified since the last request. The client can use its cached copy.
When You See It
When the browser cache is still valid (If-None-Match / If-Modified-Since headers match).
How to Fix
No fix needed. This saves bandwidth by confirming the cached version is still current.
Description
The resource is permanently gone and will not be available again. Unlike 404, this is intentional and permanent.
When You See It
When a resource has been deliberately removed and should be de-indexed by search engines.
How to Fix
Remove references to this URL. Search engines will de-index the page.
Key Differences
304 is a 3xx Redirection response, while 410 is a 4xx Client Error response.
HTTP 304: The resource has not been modified since the last request. The client can use its cached copy.
HTTP 410: The resource is permanently gone and will not be available again. Unlike 404, this is intentional and permanent.
You encounter 304 when when the browser cache is still valid (If-None-Match / If-Modified-Since headers match).
You encounter 410 when when a resource has been deliberately removed and should be de-indexed by search engines.
When to Use Which
For 304 (Not Modified): No fix needed. This saves bandwidth by confirming the cached version is still current. For 410 (Gone): Remove references to this URL. Search engines will de-index the page.