HTTP 304

HTTP 304 Not Modified — Meaning, Causes & How to Fix

The resource has not changed since the version specified by the request headers; use the cached copy.

Code
304
Name
Not Modified
Class
3xx Redirection
Specification
RFC 9110 §15.4.5
Cacheable by default
Updates the client’s stored response

What HTTP 304 means

304 Not Modified answers a conditional GET or HEAD (with If-None-Match or If-Modified-Since). It says the client’s cached copy is still valid, so no body is sent. It is not really a redirect — it saves bandwidth and speeds up repeat visits.

Common causes

How to fix it

For site owners

For visitors & developers

SEO impact

Positive. Google documents support for conditional requests; answering 304 when nothing changed saves crawl resources on large sites. It must only be sent when the content really is unchanged.

Example 304 response

HTTP/1.1 304 Not Modified
ETag: "33a64df5"
Cache-Control: max-age=600

Related status codes

200 · OK206 · Partial Content301 · Moved Permanently302 · Found303 · See Other307 · Temporary Redirect308 · Permanent Redirect

Check or look up another code

Search and filter every code in the HTTP Status Codes tool, browse the full list by class, or read HTTP status codes explained: the complete developer guide.

Open HTTP Status Codes tool →All status codes

Frequently asked questions

What does HTTP 304 mean?

HTTP 304 Not Modified is a 3xx Redirection status code. The resource has not changed since the version specified by the request headers; use the cached copy.

Is 304 an error?

No. It means “your cached version is still current”, which saves a download.

Which specification defines 304?

It is defined in RFC 9110 §15.4.5.

Is a 304 response cacheable?

A 304 has no body of its own. It tells the cache its stored copy is still valid and updates that copy’s headers and freshness.

More PAYATE tools