← All HTTP status codes
3043xx — Redirection

HTTP 304 Not Modified

The cached version the client has is still fresh. The server returns no body, save bandwidth.

What it means

304 is part of HTTP conditional requests. When a client sends If-Modified-Since or If-None-Match headers, the server compares against the resource and responds 304 if nothing has changed since the client's cached copy was fetched. The 304 response intentionally has no body — the client reuses what it has.

Heavy CDN setups rely on 304 to keep cache traffic cheap. If you're seeing unexpected 304s in monitoring (a check that should always return fresh data), it usually means a downstream proxy is sending conditional headers without your client's intent.

Common causes

  • Client cached the resource and validated it with If-None-Match
  • CDN edge revalidation against the origin
  • Browser back/forward navigation that revalidates the page

How to fix it

  1. 1Add Cache-Control: no-cache or no-store to monitored endpoints if you specifically need 200s
  2. 2Configure your monitor to not send conditional headers

How Uptimera reports 304

Uptimera treats 304 as healthy by default since it indicates the resource exists and the client validation succeeded. Switch to strict-200 mode if needed.

Catch 304s before your customers do

Uptimera monitors your URLs from multiple regions and alerts the moment a 304 starts firing. Free plan included.