304
3xx RedirectionNot Modified
The cached version is still valid, so no need to re-send the resource.
304 Not Modified is part of HTTP caching. When a client sends a conditional request with If-None-Match or If-Modified-Since, the server replies 304 if the cached copy is still fresh, with no body. That saves bandwidth and speeds up the page. Seeing lots of 304s in your logs is usually a good sign that caching is working.
What 304 looks like on the wire
GET /styles/main.css HTTP/1.1 Host: example.com If-None-Match: "33a64df551425fcc" HTTP/1.1 304 Not Modified ETag: "33a64df551425fcc" Cache-Control: max-age=86400
About 3xx Redirection
Further action is needed to complete the request, usually following a redirect to another URL.
How to fix 304 Not Modified
- If users see stale content after a deploy, check the ETag or Last-Modified values the server sends.
- Hard-reload (or send the request without If-None-Match) to force a full 200 with a fresh body.
- For static assets, put a content hash in the filename so updates get a new URL instead of relying on cache validators.
Tools that help with 304
Where it's defined
304 Not Modified is defined in RFC 9110 §15.4.5. MDN's 304 reference covers browser behavior and examples.