HTTP Status Codes Reference
Complete list of HTTP response status codes with explanations and common use cases.
| Code | Name | Description |
100 | Continue | The server has received the request headers and the client should proceed to send the request body. |
101 | Switching Protocols | The server is switching protocols as requested by the client (e.g., upgrading to WebSocket). |
102 | Processing | The server has received the request and is processing it, but no response is available yet (WebDAV). |
103 | Early Hints | Used to return some response headers before the final response, allowing preloading of resources. |
| Code | Name | Description |
200 | OK | The request succeeded. The response body contains the requested resource. Most common success response. |
201 | Created | The request succeeded and a new resource was created. Typically returned after POST requests. |
202 | Accepted | The request has been accepted for processing, but processing has not been completed (async operations). |
204 | No Content | The request succeeded but there's no content to return. Common for DELETE requests. |
206 | Partial Content | The server is returning partial content as requested by the Range header. Used for resumable downloads. |
| Code | Name | Description |
301 | Moved Permanently | The resource has been permanently moved to a new URL. Browsers will cache this redirect. SEO-friendly. |
302 | Found | The resource has been temporarily moved to a different URL. The original URL should still be used. |
303 | See Other | The response can be found at another URL using GET. Often used after POST to redirect to a result page. |
304 | Not Modified | The resource has not been modified since the last request. The client can use its cached version. |
307 | Temporary Redirect | Like 302, but the request method must not change. POST stays POST. |
308 | Permanent Redirect | Like 301, but the request method must not change. POST stays POST. |
| Code | Name | Description |
400 | Bad Request | The server cannot process the request due to malformed syntax, invalid parameters, or bad formatting. |
401 | Unauthorized | Authentication is required and has failed or not been provided. Include a WWW-Authenticate header. |
403 | Forbidden | The server understood the request but refuses to authorize it. Authentication won't help. |
404 | Not Found | The server cannot find the requested resource. The most famous HTTP error code. |
405 | Method Not Allowed | The HTTP method is not allowed for this resource (e.g., POST on a read-only endpoint). |
408 | Request Timeout | The server timed out waiting for the request from the client. |
409 | Conflict | The request conflicts with the current state of the resource (e.g., duplicate entry, edit conflict). |
410 | Gone | The resource has been permanently deleted and will not be available again. Unlike 404, this is intentional. |
413 | Payload Too Large | The request body exceeds the server's size limits (e.g., file upload too large). |
415 | Unsupported Media Type | The server does not support the media type of the request body (check Content-Type header). |
422 | Unprocessable Entity | The request is syntactically correct but semantically invalid (e.g., validation errors). |
429 | Too Many Requests | The client has sent too many requests in a given time period (rate limiting). Check Retry-After header. |
451 | Unavailable for Legal Reasons | The resource is unavailable due to legal demands (censorship, DMCA, etc.). |
| Code | Name | Description |
500 | Internal Server Error | A generic server error. Something went wrong but the server can't be more specific about the cause. |
501 | Not Implemented | The server does not support the functionality required to fulfill the request. |
502 | Bad Gateway | The server acting as a gateway received an invalid response from the upstream server. |
503 | Service Unavailable | The server is temporarily unable to handle the request (overloaded, maintenance). Check Retry-After. |
504 | Gateway Timeout | The server acting as a gateway did not receive a timely response from the upstream server. |