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
- Slow or unstable network connection
- Client opened a connection but did not send the full request
- Keep-alive connection reused after server-side idle timeout
- Large file upload over a slow link
How to fix 408 Request Timeout
- Retry the request
- For uploads, use a CDN or chunked transfer to avoid long single-stream uploads
- Configure HTTP client to respect server keep-alive timeout
- Check network connectivity (ping, traceroute)
Example response
HTTP/2 408
content-type: text/plain
Request timed out
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.