A request timeout is a limit on how long one HTTP exchange may take. It can apply at several layers: the client waiting for a response, a proxy waiting on an upstream, or a server waiting for the client to finish sending a request.
Why it matters
Without timeouts, one slow dependency can hold threads and connections until the whole service is exhausted. With badly chosen ones, valid slow operations fail. A chain of timeouts must be ordered so the outer layer waits longer than the inner one, otherwise you get duplicate work and confusing errors. When a proxy gives up on a slow upstream, users see 504 Gateway Timeout.
Example
An nginx reverse proxy with explicit upstream limits:
proxy_connect_timeout 5s;
proxy_send_timeout 30s;
proxy_read_timeout 30s;
If the application takes 45 seconds to answer, nginx stops waiting at 30 and returns a 504, even though the app may still be working and will finish the job unseen.
Common mistakes
- Raising only the proxy timeout while the application server or PHP limit stays lower.
- Using no timeout at all in outbound HTTP calls from application code.
- Treating a timeout as proof the request failed. The server may have completed it, so retries need idempotency.
Related
Get notified when this term updates
Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.
यह पेज सामान्य जानकारी है, जिसे हमारी संपादकीय टीम ने लिखा है और दस्तावेज़ीकरण बदलने पर अपडेट किया जाता है। सर्वर और प्रदाता अलग-अलग होते हैं, इसलिए बदलाव पहले सुरक्षित तरीके से जाँचें। देखें: संपादकीय नीति और अस्वीकरण.