All HTTP status codes
3xx Redirection
RFC 9110

304 Not Modified

The cached version of the requested resource is still valid.

What it means

HTTP 304 Not Modified is sent in response to a conditional GET (using If-Modified-Since or If-None-Match), indicating that the client's cached copy is still current. No body is returned, saving bandwidth.

When it's used

Browser cache validation, CDN cache freshness checks, search engine crawler revisits.

Common causes
  • Browser sent If-None-Match header with cached ETag
  • Conditional request with If-Modified-Since timestamp
  • Crawler checking whether content has changed
How to fix it
  • Not an error — confirms cache hit
  • Ensure your server sends correct ETag and Last-Modified headers
  • Verify Cache-Control allows revalidation (must-revalidate)
Example response
HTTP/1.1 304 Not Modified
ETag: "abc123"
Date: Mon, 20 Apr 2026 10:00:00 GMT
SEO impact

Positive — efficient crawling. Googlebot uses 304 to save crawl budget on unchanged pages.