Flash Sale:75% Off Hosting + Free DomainEnds in13h47m14sView Plans
Hostvento logoHostvento

HTTP 304 Not Modified: What It Means and How to Fix Problems

A 304 is usually normal and good. It becomes a problem only when old content keeps showing after you update a page.

How-To Guides2 min read5 steps5 screenshots

What 304 means

The status code 304 Not Modified tells the browser: "The file has not changed since you last got it, so use your saved copy." It saves bandwidth and makes sites faster.

An HTTP 304 Not Modified response in developer tools

Normally you do not need to fix a 304. Act only if visitors keep seeing old content after an update.

Common causes

  • Cached content that does not refresh. The browser or a cache keeps the old file.
  • Wrong server headers. Cache headers say that the file is still fresh.
  • **Wrong ETag or Last-Modified values.** The server says "not modified" when the file did change.
  • A proxy or CDN that serves an old copy.
  • Browser cache settings.

Diagnose it

  • Browser developer tools. Press F12, open the Network tab and reload. Look at the status, the ETag, Last-Modified and Cache-Control headers.
  • Server logs. Look for 304 responses for the files you changed.
  • cURL. Check the headers from the command line:
curl -I https://example.com/style.css

Send a conditional request to test:

curl -I -H "If-None-Match: \"etag-value\"" https://example.com/style.css

Fix it as a visitor

  1. Clear the browser cache.
    Clearing the cache
  2. Open the page in a private (incognito) window.
    A private window
  3. Turn off the cache while developer tools are open. In the Network tab, tick Disable cache.
    Disable cache in developer tools
  4. Try another browser or device.
    Trying another browser
  5. Do a hard reload with Ctrl + F5 (Cmd + Shift + R on a Mac).

Fix it as a site owner

  • Correct the headers. Check Cache-Control, ETag and Last-Modified.
  • Remove long caching for files that change often.
  • Use correct date formats for Last-Modified (HTTP date format).
  • Turn off server caching if it serves old pages, or purge it after an update.
  • Update the CDN or proxy rules, and purge their cache.

Best practices

  • Use proper cache headers.
  • Set a reasonable expiry time.
  • Version your assets (style.css?v=2 or file names with a hash), so a change forces a new download.
  • Watch your logs.

Quick recap

  • 304 is normal and saves bandwidth.
  • If old content shows, clear caches and purge the CDN.
  • Version your files so updates always reach visitors.