computerscience.co.uk

Reference

HTTP status codes

Every time a browser or a program asks a web server for something, the server replies with a three-digit status code that says what happened. The first digit sets the class, from 2xx for success to 4xx for a problem with the request and 5xx for a problem on the server. Here is the full list in plain English, with detail pages for the codes worth knowing well.

Reading this as a program? This page is available as markdown at /reference/http-status-codes/index.md, and each code has its own markdown twin.

1xx Informational

Informational: the request was received and the process is continuing.

100 Continue The client should continue with its request.
101 Switching Protocols The server is switching protocols as requested.
103 Early Hints Preliminary headers sent while the response is prepared.

2xx Success

Success: the request was received, understood and accepted.

200 OK The request succeeded. The most common status code.
201 Created The request succeeded and a new resource was created.
202 Accepted The request was accepted but not yet processed.
204 No Content Success, but there is no body to return.
206 Partial Content Part of the resource is returned, used for range requests.

3xx Redirection

Redirection: further action is needed to complete the request.

301 Moved Permanently The resource has a new permanent URL.
302 Found The resource is temporarily at a different URL.
304 Not Modified The cached copy is still valid, so nothing is sent.
307 Temporary Redirect Temporary redirect that keeps the request method.
308 Permanent Redirect Permanent redirect that keeps the request method.

4xx Client error

Client error: the request has a problem the client must fix.

400 Bad Request The server cannot understand the request.
401 Unauthorized Authentication is required and has failed or is missing.
402 Payment Required Reserved for payment. Newly relevant for paid APIs and AI agents.
403 Forbidden The server understood the request but refuses to authorise it.
404 Not Found The server cannot find the requested resource.
405 Method Not Allowed The request method is not supported for this resource.
408 Request Timeout The server timed out waiting for the request.
409 Conflict The request conflicts with the current state of the resource.
410 Gone The resource is permanently gone with no forwarding address.
418 I'm a Teapot An April Fools joke from 1998 that became a real, beloved code.
422 Unprocessable Content The request is well formed but semantically invalid.
429 Too Many Requests The client has sent too many requests in a given time. Central to rate limiting.
451 Unavailable For Legal Reasons The resource is blocked for legal reasons.

5xx Server error

Server error: the server failed to fulfil a valid request.

500 Internal Server Error A generic error: something went wrong on the server.
501 Not Implemented The server does not support the functionality required.
502 Bad Gateway A server acting as a gateway got an invalid response upstream.
503 Service Unavailable The server is temporarily unable to handle the request.
504 Gateway Timeout A gateway server did not get a response in time.

Meanings follow the IETF HTTP specification (RFC 9110) and MDN. Last reviewed: 10 July 2026.