HTTP

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

1.

304 is a 3xx Redirection response, while 410 is a 4xx Client Error response.

2.

HTTP 304: The resource has not been modified since the last request. The client can use its cached copy.

3.

HTTP 410: The resource is permanently gone and will not be available again. Unlike 404, this is intentional and permanent.

4.

You encounter 304 when when the browser cache is still valid (If-None-Match / If-Modified-Since headers match).

5.

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.

Learn More