HTTP 408 Request Timeout: What It Means and When You See It
Quick Answer
HTTP 408 Request Timeout means the server waited too long for the client to send a request. The client may resend the request without any changes.
Why HTTP 408 Happens
HTTP 408 Request Timeout means the server waited too long for the client to finish sending the request. This differs from 504 (server-to-upstream timeout). Common causes: slow client network (large upload on a poor connection), client pausing mid-request, keep-alive connections left idle too long, and mobile clients that disconnect mid-upload. The server closes the connection and the client may retry the same request.
Handling 408 Timeouts
For clients: implement retry logic with exponential backoff. Compress large request bodies before sending. Use streaming uploads for large files instead of buffering the entire payload. For servers (nginx): set client_header_timeout and client_body_timeout. Node.js: server.requestTimeout = 30000 (30 seconds). The 408 response allows the client to resend the request unchanged - the server has not processed it.
Try the interactive tool
Convert any value instantly — no sign-up required
Frequently Asked Questions
Related Values
100
HTTP 100 Continue means the server has received the request headers and the client should proceed to send the request body. It is an interim response used to inform the client to continue.
101
HTTP 101 Switching Protocols indicates the server is switching to the protocol specified in the Upgrade header field. Commonly used when upgrading to WebSocket connections.
200
HTTP 200 OK is the standard success response. The request has succeeded and the server has returned the requested resource in the response body.
201
HTTP 201 Created means the request succeeded and a new resource was created as a result. The Location header typically points to the new resource URL.