408 408 Request Timeout
The server timed out waiting for the client to send the complete request.
What Is This?
The HTTP 408 Request Timeout status code indicates that the server timed out waiting for the client to send the complete request. This typically occurs when a client establishes a connection but takes too long to send the full request headers or body. It helps servers free up resources tied to idle connections.
Common Causes & Solutions
Common Cause
Slow client upload speed causing large request body delays
Common Cause
Keep-alive connection idle for too long
Common Cause
Client stalled or crashed mid-request
Common Cause
Proxy server timeout between client and origin
Increase timeout settings
Adjust server timeouts to accommodate slow clients without disconnecting them prematurely.
# Nginx client_body_timeout 60s client_header_timeout 60s keepalive_timeout 75s # Node.js (Express) const server = app.listen(3000) server.timeout = 120000 // 2 minutes # Apache Timeout 60 KeepAliveTimeout 5
Optimize client uploads
Compress or chunk large uploads to prevent timeout during slow connections. Use progress indicators for large file uploads.
Related Entries
More from this reference:
400 400 Bad Request
The server cannot process the request due to client-side input errors.
401 401 Unauthorized
Authentication is required but was missing or invalid.
403 403 Forbidden
The client is authenticated but does not have permission to access the resource.
404 404 Not Found
The requested resource could not be found on the server.
405 405 Method Not Allowed
The HTTP method used is not allowed for this resource.
413 413 Payload Too Large
The request body exceeds the server's maximum allowed size.
422 422 Unprocessable Entity
The request has valid syntax but contains semantic validation errors.
429 429 Too Many Requests
The client has exceeded the rate limit and should slow down.
Frequently Asked Questions
Should I retry after a 408?
Yes. 408 is a transient error — the client can safely retry the request. Use exponential backoff to avoid overwhelming the server with retries.
How does 408 differ from 504 Gateway Timeout?
408 is a client timeout — the client took too long to send the request. 504 is a gateway timeout — the server acting as a gateway or proxy timed out waiting for an upstream server to respond.