HTTP

HTTP 304 Not Modified vs 408 Request Timeout

HTTP 304 (Not Modified) is a 3xx Redirection response, while 408 (Request Timeout) is a 4xx Client Error response. 304 indicates that the resource has not been modified since the last request. The client can use its cached copy. In contrast, 408 means that the server timed out waiting for the request. The client did not produce a request within the time the server was prepared to wait.

Description

The resource has not been modified since the last request. The client can use its cached copy.

When You See It

When the browser cache is still valid (If-None-Match / If-Modified-Since headers match).

How to Fix

No fix needed. This saves bandwidth by confirming the cached version is still current.

Description

The server timed out waiting for the request. The client did not produce a request within the time the server was prepared to wait.

When You See It

When a client takes too long to send the complete request (slow upload, network issues).

How to Fix

Retry the request. Check your network connection. Reduce request payload size.

Key Differences

1.

304 is a 3xx Redirection response, while 408 is a 4xx Client Error response.

2.

HTTP 304: The resource has not been modified since the last request. The client can use its cached copy.

3.

HTTP 408: The server timed out waiting for the request. The client did not produce a request within the time the server was prepared to wait.

4.

You encounter 304 when when the browser cache is still valid (If-None-Match / If-Modified-Since headers match).

5.

You encounter 408 when when a client takes too long to send the complete request (slow upload, network issues).

When to Use Which

For 304 (Not Modified): No fix needed. This saves bandwidth by confirming the cached version is still current. For 408 (Request Timeout): Retry the request. Check your network connection. Reduce request payload size.

Learn More