LightAtom

304 Not Modified: What It Means

Not an error: the server confirms the copy your browser already has is current, so it doesn't send the content again.

304 Not Modified

Your browser asked whether its cached copy is still up to date, and the server said yes. The browser reuses its copy, which makes pages load faster.

Quick checks

  • If the page looks fine, there's nothing to fix.
  • If you see stale content, do a hard reload (⌘⇧R).

If you’re visiting the site

  1. Seeing old content?

    1. Hard reload with ⌘⇧R (Mac) or Ctrl+F5 (Windows).
    2. Or clear cached images and files for the site.

If you run the site

  1. How 304 works

    1. The browser sends If-None-Match (with the ETag) or If-Modified-Since. If nothing changed, the server answers 304 with no body.
  2. If updates don't show

    1. Use versioned file names (app.3f9a2c.js) for static assets, so new deploys get new URLs.
    2. Make sure ETags change when content changes; ETags tied to inode numbers can differ across servers behind a load balancer.

Still not working?

304s are healthy. Only investigate if users see outdated content after a deploy; that's a cache-control problem, not a 304 problem.

See what’s happening

LightAtom's connections view shows how much data each app actually downloads, a quick way to see caching at work.

Frequently asked questions

Is 304 Not Modified an error?

No. It's a successful response telling the browser to use its cached copy. It saves bandwidth and makes pages load faster.

Why do I see 304 in developer tools?

Your browser revalidated a cached file and the server said it's unchanged. That's caching working as designed.

Can 304 cause SEO problems?

No. Search engines use conditional requests too. 304 just tells them the page hasn't changed since their last visit.

LightAtom team

The people who build LightAtom, a network monitor for macOS.