HTTP status codes explained
Short answer
An HTTP status code is a three-digit number a server returns to describe the outcome of a request. The first digit sets the category: 2xx success, 3xx redirect, 4xx client error, 5xx server error. So 404 means the client asked for something that does not exist.
The five groups
Every status code belongs to a group set by its first digit. Knowing the group tells you who is responsible — the request, a redirect, the client, or the server — before you read the exact code.
1xxInformational — request received, still processing (rare)2xxSuccess — the request worked (200 OK, 201 Created, 204 No Content)3xxRedirect — go somewhere else (301 Moved, 302 Found, 304 Not Modified)4xxClient error — the request was wrong (400, 401, 403, 404, 429)5xxServer error — the server failed (500, 502, 503, 504)
Codes you meet most
200 OK— standard success301 Moved Permanently— the URL changed for good; update links404 Not Found— the resource does not exist at that URL403 Forbidden— you are not allowed, even if authenticated401 Unauthorized— you need to authenticate first429 Too Many Requests— you hit a rate limit; slow down500 Internal Server Error— the server crashed handling the request503 Service Unavailable— the server is temporarily down or overloaded
The code travels in the response's status line, alongside the headers. See what is an HTTP header. For the full list, see the HTTP status codes reference.