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
Seeing old content?
- Hard reload with ⌘⇧R (Mac) or Ctrl+F5 (Windows).
- Or clear cached images and files for the site.
If you run the site
How 304 works
- The browser sends
If-None-Match(with the ETag) orIf-Modified-Since. If nothing changed, the server answers 304 with no body.
- The browser sends
If updates don't show
- Use versioned file names (app.3f9a2c.js) for static assets, so new deploys get new URLs.
- 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.