Client Error · 4xx

408 Request Timeout

The server gave up waiting for the client to finish sending the request.

What 408 Request Timeout means

408 Request Timeout means the server timed out waiting for the request body. The client opened the connection, sent some headers, then went idle for too long before completing the request. This is different from a server-side processing timeout (504 Gateway Timeout). 408 is rare on modern HTTP/2 connections; it shows up most often on slow uploads, flaky mobile networks, or when keep-alive connections are reused after the server's idle timeout.

When servers should return it: Return 408 when a connection is idle past the server's read timeout while waiting for the request body or remaining headers.

Common causes

How to fix 408 Request Timeout

Example response

HTTP/2 408
content-type: text/plain
Request timed out

Related status codes

Frequently Asked Questions

408 vs 504?
408 is the client failing to send the request in time. 504 is an upstream server failing to respond in time.
Should I retry on 408?
Yes, with exponential backoff. 408 is transient, retrying usually succeeds.
Defined in: RFC 9110 · Class: 4xx Client Error

More references

For a one-page reference of all HTTP status codes, see the HTTP cheat sheet. For testing API responses, try the API Tester tool. For inspecting responses on the command line, the curl cheat sheet covers the most common flags.