3xx · Redirectionterminal
304Not Modified
Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match.
What this code obliges you to do
Retry
Do not retry automatically
Repeating the same request produces the same result. A retry loop here just multiplies load and hides the real fault.
Caching
Not cacheable by default
Caches will not store this response unless you send explicit freshness headers saying they may.
Response body
Must not send a body
This status must be sent with no body at all. Clients and proxies will mis-frame the next response on a connection if you send one.
When you see it
21
Client requesting a cached asset
2
ETag matches existing resource
Effect on search
Excellent for crawl budget optimization. Tells Googlebot the page hasn't changed so it can focus on other pages.
How to send it
1Node.js (Express)
// Usually automatically handled by Express via ETag.Codes people confuse with this one
1Class3xx
RetryNo
CacheNo
BodyNone