Error Codes Wiki

HTTP 304 Not Modified — What It Means & How to Fix It

Warning3xx redirection

Overview

The HTTP 304 Not Modified status code indicates the resource has not been modified since the version specified by the request headers, so the client can use its cached copy.

Key Details

  • This status code is used for conditional requests with If-Modified-Since or If-None-Match headers.
  • It saves bandwidth by not retransmitting the resource when the client already has a current copy.
  • The response must not contain a body.
  • It is a key part of HTTP caching mechanisms.
  • The client should use the cached version of the resource.

Common Causes

  • The client sent a conditional GET with If-Modified-Since and the resource has not changed.
  • The client sent If-None-Match with an ETag that still matches the current resource.
  • Browser cache validation determined the cached copy is still fresh.

Steps

  1. 1Use the cached version of the resource when you receive a 304.
  2. 2Ensure your server properly implements ETag and Last-Modified headers.
  3. 3If you need a fresh copy, clear the cache or omit conditional headers.
  4. 4Check that your caching headers are configured correctly for your content update frequency.

Tags

httpredirectioncachingnot-modifiedetagconditional

Related Items

More in 3xx Redirection

Frequently Asked Questions

It means the resource has not changed since it was last requested. The client should use its cached copy instead of downloading the resource again.