HTTP 499 Client Closed Request
Updated Free mock REST & WebSocket APIs
HTTP 499 Client Closed Request — nginx logs 499 when the client closed the connection before the server finished responding.
- Class
- 4xx Client Error
- Defined in
- Unofficial (nginx)
- Official
- No — nginx-specific
- Cacheable by default
- No (unless Cache-Control/Expires say so)
- Safe to retry
- Yes, after a delay (respect Retry-After)
What does HTTP 499 mean?
Not sent to anyone (the client is gone) — it's an access-log entry. Usually a slow upstream: the user navigated away, a mobile connection dropped, or a load balancer/health check gave up first. Lots of 499s point to slow backends or a client/LB timeout shorter than your app's response time.
How to fix 499
- Visitors: Reload the page, check the address for typos, and clear the site's cookies. If it persists, the site owner needs to fix it.
- Developers: Read the response body and server logs for details, fix the request (method, headers, body, credentials) and return a clear error message to clients.
Example 499 response
# Not sent to the client — appears in nginx's access log: 203.0.113.7 - - [18/Oct/2026:10:00:00 +0000] "GET /slow HTTP/1.1" 499 0 "-" "Mozilla/5.0 …"
4xx Client Error: The request contains an error or can't be fulfilled — fix the request before retrying. See the full list of HTTP status codes.
Related status codes
- 408 Request TimeoutThe server timed out waiting for the client to finish sending the request.
- 504 Gateway TimeoutA gateway or proxy didn't get a response from the upstream server in time.
- 502 Bad GatewayA gateway or proxy got an invalid response from the upstream server.
Related tools
Frequently asked questions
What does HTTP 499 Client Closed Request mean?
nginx logs 499 when the client closed the connection before the server finished responding.
Is 499 a client or a server error?
499 is a 4xx code, so it signals a problem with the request (as seen by the server). Retrying the identical request usually gives the same result.
Is 499 an official HTTP status code?
No. It isn't in the IANA HTTP Status Code Registry; it's specific to nginx. Generic HTTP clients treat it as an unknown 4xx status.
How can I test how my app handles a 499?
Call https://mockfox.dev/api/status/499 — it responds with 499 to any method, with CORS enabled. Add ?delay=2000 to simulate a slow response.