Every code in the IANA registry (64 codes) and 24 non-standard codes you will meet in nginx logs, Cloudflare error pages and AWS load balancers. Pick a code for causes, fixes and an example response.
Interim responses sent before the final response. The request is still in progress.
The request was received, understood and accepted.
The client must take further action, usually following the Location header.
The request contains an error or cannot be fulfilled as sent.
Not in the IANA registry, but emitted by widely used software.
The server failed to fulfil a valid request.
Not in the IANA registry, but emitted by widely used software.
Every HTTP response starts with a three-digit status code. The first digit is the class, and it carries most of the meaning: RFC 9110 requires a client that does not recognise a code to treat it like the x00 code of its class, so an unknown 471 is handled as 400 and an unknown 599 as 500. The reason phrase after the number ("Not Found") is informational only; HTTP/2 and HTTP/3 drop it entirely.
Interim and final responses. 1xx codes are interim: a server may send several (for example 100 Continue or 103 Early Hints) before the one final 2xx-5xx response for the request.
Who generated the code. A response may come from your application, the web server in front of it, a load balancer, a CDN or a corporate proxy. The Server header and the look of the error page usually tell you which layer answered. A 502 or 504 is always produced by a gateway about the server behind it, and Cloudflare's 52x codes describe the connection between Cloudflare and your origin.
Caching. Only these codes are heuristically cacheable, meaning caches may store them without explicit freshness information: 200, 203, 204, 206, 300, 301, 308, 404, 405, 410, 414, 501. Everything else is cached only when the response carries Cache-Control or Expires.
Non-standard codes. Codes such as nginx's 444 and 499 or Cloudflare's 520-530 are not registered. Some never reach the client at all and exist only in logs; each page below says what the client actually receives.
Registered codes, names and defining documents come from the Hypertext Transfer Protocol (HTTP) Status Code Registry (CC0 1.0 (IANA registry data)), retrieved 2026-11-10. Explanations, causes and fixes are written by httpfy.io.