HTTP status code

HTTP 304 Not Modified

304 Not Modified means the resource hasn't changed since the last visit, so the server doesn't send the content again.

Reviewed: 6 November 2026
Class
3xx · Redirects
Where the problem is
Redirect — not an error
Who fixes it
Check that the redirect goes to the right page.

What it means

The browser sends a conditional request with If-None-Match (ETag) or If-Modified-Since. If the resource hasn't changed, the server returns a 304 with no body and the browser uses its local copy. This saves bandwidth and speeds up loading.

Most common causes

  • A repeat visit to a page or file that is already cached.
  • Correctly configured ETag or Last-Modified headers.
  • A CDN revalidating its cached copy with the origin.

What you can do as a visitor

  1. A 304 is not an error. If you see an old version of the page, do a hard refresh (Ctrl+F5) to bypass the conditional request.

Shows the HTTP status, redirect chain, HTTPS and basic SEO signals. Works for public addresses only.

What the site owner or developer should do

  1. Make sure the ETag changes whenever the content changes.
  2. For static files, use versioned URLs (style.css?v=2) with a long Cache-Control.
  3. Don't return 304 to requests without conditional headers.

Impact on SEO and Google

Googlebot supports conditional requests. Correct 304s reduce server load and can improve crawl efficiency on large sites.

Frequently asked questions

Is a 304 an error?

No. It means the cached copy is still valid.

Why am I seeing an old version of the page?

The cache or CDN didn't detect the change. A hard refresh or purging the CDN cache helps.

Sources