3xx

304 Not Modified

The resource has not changed since the last request, so the cached version can be used.

What is HTTP 304?

This status code is used for conditional requests and tells the client that the resource has not been modified since the version indicated by the If-Modified-Since or If-None-Match headers. The response body is empty because the client should use its locally cached copy of the resource. This significantly reduces bandwidth and improves load times by avoiding unnecessary data transfers for unchanged resources.

Defined in RFC 9110

Common Causes

  • A browser's conditional request confirmed the cached copy is still valid
  • The ETag or Last-Modified date matched, proving the resource has not changed
  • CDN or proxy revalidation determined the cached version is current

How to Fix

  • No fix needed; this is efficient caching behavior that saves bandwidth
  • If you need a fresh copy, clear your browser cache or send the request without conditional headers
  • To force a refresh, bypass cache with Cache-Control: no-cache or add a cache-busting query parameter