HTTP18 records
HTTP Status Code Reference
HTTP status codes explained from both the client and the server side, plus the infrastructure concepts behind them: HTTPS, TLS, redirects and DNS.
HTTP status codes are three-digit numbers a server returns with every response. The first digit gives the class; RFC 9110 defines the standard codes and their meaning. Each record below explains the code from both sides: what a visitor can do about it and what the developer or administrator should check.
Every code record cites the section of RFC 9110 that defines it. For codes not listed here, the IANA HTTP Status Code Registry is the authoritative list.
2xx — Success
The request was received, understood and accepted.
3xx — Redirection
The client must take further action, usually follow a new location.
- 301Moved PermanentlyHTTP 301 Moved Permanently tells the client that the resource now lives at the URL in the Location header…
- 302FoundHTTP 302 Found tells the client that the resource is temporarily at the URL in the Location header. The…
- 304Not ModifiedHTTP 304 Not Modified is the server's answer to a conditional request: the client sent If-None-Match or…
4xx — Client errors
The request is wrong, unauthorised or cannot be fulfilled as sent.
- 400Bad RequestHTTP 400 Bad Request means the server rejected the request because it was malformed or invalid: a bad URL,…
- 401UnauthorizedHTTP 401 Unauthorized means the request needs valid authentication and either had none or had credentials…
- 403ForbiddenHTTP 403 Forbidden means the server understood the request and knows what you want but will not allow it,…
- 404Not FoundHTTP 404 Not Found means the server is reachable but has nothing at the requested URL. The page may have…
- 405Method Not AllowedHTTP 405 Method Not Allowed means the URL exists but the server does not accept the HTTP method used, such…
- 408Request TimeoutHTTP 408 Request Timeout means the server waited for the client to send a request (or finish sending one)…
- 410GoneHTTP 410 Gone means the resource existed, has been removed on purpose, and will not return. It is the…
- 429Too Many RequestsHTTP 429 Too Many Requests means the client has sent more requests than the server allows in a given time…
5xx — Server errors
The server, or something in front of it, failed to fulfil a valid request.
- 500Internal Server ErrorHTTP 500 Internal Server Error is the generic response when the server hit an unexpected condition and could…
- 502Bad GatewayHTTP 502 Bad Gateway means a server acting as a gateway or reverse proxy (nginx, Cloudflare, a load…
- 503Service UnavailableHTTP 503 Service Unavailable means the server is up but cannot handle the request right now, because of…
- 504Gateway TimeoutHTTP 504 Gateway Timeout means a proxy or load balancer forwarded the request to a backend server, which…
Web infrastructure
The transport and security concepts behind the codes.
- HTTP vs HTTPSWhat the S changesHTTPS is HTTP carried inside a TLS session. The requests and responses are identical; TLS adds encryption…
- TLS vs SSLVersions, what is obsolete and what a "SSL certificate" really isTLS (Transport Layer Security) is the current name and version lineage of the protocol that began as SSL…