HTTP status code
Request Timeout
The server timed out waiting for the request to arrive.
The server gave up waiting for the client to finish sending. This is distinct from 504, where the server was waiting on something upstream — here the incomplete party is the client. It is comparatively rare in normal browsing.
Check the server's request timeout against realistic upload sizes on slow connections. If a legitimate file upload trips it, the timeout is too low rather than the client being at fault.
Most people never see a 408 while browsing, because browsers send requests promptly and completely. It shows up far more in API traffic and file uploads, where a client may open a connection and then send slowly, or stall partway through a body.\n\nKeep-alive muddies this further. A server may return 408 on an idle persistent connection it has decided to reclaim, and a well-behaved client simply opens a new connection and retries. That kind of 408 is routine housekeeping rather than an error worth alerting on.\n\nLoad balancers add their own idle timeouts, often shorter than the application's. If 408s appear in a specific environment only, compare the idle timeout at every hop — the shortest one wins, and it is rarely the one you configured.
A 408 in a monitor generally points to a network path problem between the probe and your server rather than to the application itself.
Monitor for 408 responses freeNo, and the difference tells you where to look. 408 means the server was waiting for the client to finish sending its request. 504 means the server was waiting on an upstream service to respond. One points at the connection to the user, the other at your own backend.
Pingura checks your endpoints from five regions and alerts on the status code, not just reachability.
Get Started Free