Skip to content

4xx Client error

408 Request Timeout

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

What 408 means

The client opened a connection but was too slow sending the request. Different from a gateway timeout (504), where the server is the slow one.

Common causes

  • A slow or unstable network.
  • A large upload over a slow connection.
  • Idle keep-alive connections being closed.

How to fix it

If you're calling an API

  • Retry; most clients do this automatically for idempotent requests.

If you run the server

  • Tune request timeouts for large uploads.

Should you retry?

Yes, it's usually safe to retry.

Example response

HTTP
HTTP/1.1 408 Request Timeout
Content-Type: application/problem+json

{
  "type": "about:blank",
  "title": "Request Timeout",
  "status": 408,
  "detail": "The server gave up waiting for the client to finish sending the request."
}

Defined in: RFC 9110 (HTTP Semantics). 408 is a client error: change the request before retrying.

Debugging an API call? Convert your request with the cURL converter, check the response with the JSON formatter, or see whether the API is down on its status page.

HTTP 408 FAQ

What does HTTP 408 mean?

408 Request Timeout: The server gave up waiting for the client to finish sending the request. The client opened a connection but was too slow sending the request. Different from a gateway timeout (504), where the server is the slow one.

Is 408 a client or server error?

It's a client error (4xx): something about the request needs to change before it can succeed.

How do I fix a 408 error?

Retry; most clients do this automatically for idempotent requests.

Should I retry after a 408?

Yes, it's usually safe to retry.

Other 4xx status codes

All HTTP status codes