WatchFor
ReferenceHTTP Status Codes

408 Request Timeout

What HTTP 408 means, how it differs from 504 and client-side timeouts, and what slow-request timeouts reveal about your infrastructure.

408 Request Timeout means the server was waiting for the client to finish sending its request — and gave up. The connection was open, but the request didn't arrive completely within the server's timeout window.

408 vs the other timeouts

SymptomWhat timed out
408The client was too slow sending the request
504An upstream server was too slow answering a proxy
Client-side timeout (no status at all)The response didn't arrive before the client gave up

A 408 is the rarest of the three in practice — many servers just close the connection silently instead of sending it.

Common causes

  • Slow or flaky client networks — mobile clients uploading large bodies over poor connections
  • Stalled uploads — the client advertised a Content-Length and then stopped sending mid-body
  • Keep-alive housekeeping — some servers send 408 when closing an idle persistent connection; browsers retry transparently, but you'll see them in logs
  • Aggressive server timeoutsclient_body_timeout (nginx) or RequestReadTimeout (Apache) set lower than real clients need
  • Slowloris-style attacks — deliberately slow request trickles designed to exhaust connections; timeouts sending 408 are the defense working

Debugging

Sporadic 408s from real users usually track client network quality — check whether they cluster by geography or mobile carrier. A spike in 408s can also be the early signature of a slow-request attack; look at how many connections are open in a "reading request" state.

If your own API calls time out, distinguish where: a 408 status means the server judged you slow; an exception with no response means your client timeout fired first. The free ping test and traceroute show whether latency and loss on the path explain slow request delivery, and a multi-region HTTP monitor tells you whether slowness is global or one network's problem.

On this page