About HTTP Status Codes
HTTP response status codes indicate whether a specific HTTP request has been successfully completed. Responses are grouped into five classes, each identified by the first digit of the three-digit code.
The Five Categories
- 1xx Informational: The request was received, continuing process.
- 2xx Successful: The request was successfully received, understood, and accepted.
- 3xx Redirection: Further action needs to be taken to complete the request.
- 4xx Client Error: The request contains bad syntax or cannot be fulfilled.
- 5xx Server Error: The server failed to fulfil a valid request.
Whether you are debugging an API, reading server logs, or building a REST service, knowing status codes by heart saves time. Our reference lets you search and filter all official codes, including unofficial ones like 418 (I'm a Teapot) and 451 (Unavailable For Legal Reasons).
How to Use the HTTP Status Code Reference
- Use the search bar to find a specific status code by number (e.g., 404), name (e.g., Not Found), or keyword from the description. Search works across all fields simultaneously for fast lookups.
- Filter by category using the category buttons: 1xx (Informational), 2xx (Success), 3xx (Redirection), 4xx (Client Error), or 5xx (Server Error). Clicking a category instantly narrows the list to codes in that class.
- Review the color-coded badges for quick visual identification: green for success codes, blue for redirects, yellow/orange for client errors, and red for server errors.
- Click any status code to expand detailed information including the official name, description, common causes, and troubleshooting guidance.
Understanding HTTP Status Codes
HTTP status codes are three-digit numbers returned by a web server in response to a client request, indicating the outcome of the request. Defined in RFC 9110 (formerly RFC 7231), status codes are grouped into five classes by their first digit. 1xx codes are informational, sent during provisional server processing — rarely seen in practice because most clients wait for the final response. 2xx codes indicate success: 200 OK for successful GET requests, 201 Created for successful POST requests that created a resource, and 204 No Content for successful requests with no response body.
3xx codes indicate redirection, telling the client to look for the resource at a different URL. The most common are 301 Moved Permanently (used for permanent URL changes and SEO — search engines transfer ranking signals to the new URL) and 302 Found (temporary redirect). 4xx codes indicate client errors: 400 Bad Request (malformed syntax), 401 Unauthorized (authentication required), 403 Forbidden (authenticated but not permitted), 404 Not Found (resource does not exist), and 429 Too Many Requests (rate limiting). 5xx codes indicate server errors: 500 Internal Server Error (generic server failure), 502 Bad Gateway (upstream server invalid response), 503 Service Unavailable (server overloaded or maintaining), and 504 Gateway Timeout (upstream server timeout).
Understanding status codes is essential for web developers, API designers, and system administrators. When debugging API integrations, the status code tells you whether the problem is on the client side (4xx — fix your request) or server side (5xx — contact the server team). REST API design conventions specify which codes to return for different scenarios: 200 for successful reads, 201 for resource creation, 204 for successful deletion, 400 for validation errors, 401 for missing auth, 403 for insufficient permissions, 404 for missing resources, 409 for conflicts (e.g., duplicate email), and 500 for unexpected failures. HTTP/2 and HTTP/3 use the same status code space, maintaining backward compatibility.