304
LowWeb Server

Not Modified — the client cache copy remains valid and unchanged

What 304 Means

The 304 error on the HTTP Status-Codes indicates not modified — the client cache copy remains valid and unchanged. This typically occurs due to the client sent an if-modified-since header and the file is unchanged.

A 304 Not Modified is an implicit caching response rather than a direct resource delivery. It signals that the content has not changed since the client last retrieved it, instructing the client to use the stored version from its local cache.

Technical Background

The 304 response is fundamental to web performance and bandwidth conservation. Instead of downloading Megabytes of unchanged data, the server simply answers the conditional request with empty headers, confirming the client's local cache is perfectly valid.

This interaction is driven by validation headers. The client requests a resource and attaches an ETag identifier or a timestamp marker. If the server evaluates these tokens and sees no subsequent modifications, a 304 is issued immediately.

Improperly configured ETags or server clocks can break this mechanism, causing the server to return full 200 OK responses endlessly. This results in wasted transfer capacity and slower loading times for end users.

Common Causes

  • The client sent an If-Modified-Since header and the file is unchanged
  • The client sent an If-None-Match header that matches the current ETag
  • A browser checks for updates to static assets like images or styles
  • An API client uses conditional requests to save bandwidth

Typical Scenarios

  • A returning visitor loads a heavy web application where all scripts return 304
  • A mobile application syncs with an API and receives a 304 to confirm data freshness
  • A proxy server validates its stored content against the origin server

What to Know

A 304 is a sign of a highly optimized and healthy caching architecture. Developers diagnosing performance issues should actively look for 304 responses in their network tabs to confirm that static assets are being efficiently validated instead of redownloaded.

Frequently Asked Questions

Common questions about HTTP 304 error

No. A 304 is a success status related to caching. It confirms that the resource is unchanged and saves bandwidth by preventing an unnecessary download.

When you revisit a website, your browser asks if the images have changed. The server effectively answers 'no' with a 304, allowing the browser to load them from your local hard drive.

Rarely. If a 304 is returned correctly, the page is current. Outdated content usually stems from an overaggressive cache policy that prevents the browser from even asking the server.