Developer
HTTP Status Codes — Complete Reference Guide
Complete list of HTTP status codes organized by class (1xx-5xx). Each code includes its meaning, common use cases, and when you might encounter it.
1xx Informational
These codes indicate that the request was received and the server is continuing to process it.
| 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 is processing the request but has not yet completed it (WebDAV). |
| 103 | Early Hints | Used to return some response headers before the final HTTP message. |
2xx Success
These codes indicate that the request was successfully received, understood, and accepted.
| Code | Name | Description |
|---|---|---|
| 200 | OK | The request succeeded. The meaning depends on the HTTP method used. |
| 201 | Created | The request succeeded and a new resource was created. Common after POST requests. |
| 202 | Accepted | The request has been accepted for processing but has not been completed yet. |
| 203 | Non-Authoritative Information | The returned metadata is not from the origin server but a local or third-party copy. |
| 204 | No Content | The request succeeded but there is no content to return. Common for DELETE requests. |
| 205 | Reset Content | The server fulfilled the request and asks the client to reset the document view. |
| 206 | Partial Content | The server is delivering only part of the resource due to a range header sent by the client. |
| 207 | Multi-Status | Multiple status codes for multiple sub-requests (WebDAV). |
| 208 | Already Reported | The members of a DAV binding have already been enumerated (WebDAV). |
| 226 | IM Used | The server has fulfilled a GET request for the resource with instance manipulations applied. |
3xx Redirection
These codes indicate that further action is needed to complete the request, usually a redirect.
| Code | Name | Description |
|---|---|---|
| 300 | Multiple Choices | There are multiple options for the resource. The client may choose one. |
| 301 | Moved Permanently | The resource has been permanently moved to a new URL. Search engines update their index. |
| 302 | Found | The resource is temporarily located at a different URL. Client should continue using the original URL. |
| 303 | See Other | The response to the request can be found at another URL using a GET method. |
| 304 | Not Modified | The resource has not been modified since the last request. Used for caching. |
| 305 | Use Proxy | The requested resource must be accessed through the proxy given in the Location header (deprecated). |
| 307 | Temporary Redirect | The resource is temporarily at a different URL. Same method must be used for the new request. |
| 308 | Permanent Redirect | The resource has permanently moved. Same method must be used for the new request. |
4xx Client Error
These codes indicate that the client seems to have made an error in the request.
| Code | Name | Description |
|---|---|---|
| 400 | Bad Request | The server cannot process the request due to malformed syntax or invalid parameters. |
| 401 | Unauthorized | Authentication is required. The client must provide valid credentials. |
| 402 | Payment Required | Reserved for future use. Sometimes used for digital payment systems. |
| 403 | Forbidden | The server understood the request but refuses to authorize it. Authentication will not help. |
| 404 | Not Found | The server cannot find the requested resource. The most common error on the web. |
| 405 | Method Not Allowed | The HTTP method used is not supported for the requested resource. |
| 406 | Not Acceptable | The server cannot produce a response matching the accept headers sent by the client. |
| 407 | Proxy Authentication Required | The client must first authenticate with the proxy. |
| 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 server (e.g., duplicate resource). |
| 410 | Gone | The resource was previously available but has been permanently removed. |
| 411 | Length Required | The request did not specify the length of its content, which is required. |
| 412 | Precondition Failed | One or more conditions in the request header fields evaluated to false. |
| 413 | Payload Too Large | The request entity is larger than the server is willing to process. |
| 414 | URI Too Long | The URI provided was too long for the server to process. |
| 415 | Unsupported Media Type | The media format of the requested data is not supported by the server. |
| 416 | Range Not Satisfiable | The range specified by the Range header cannot be fulfilled. |
| 417 | Expectation Failed | The server cannot meet the requirements of the Expect request-header field. |
| 418 | I'm a Teapot | The server refuses to brew coffee because it is, permanently, a teapot (April Fools RFC 2324). |
| 421 | Misdirected Request | The request was directed at a server that is not able to produce a response. |
| 422 | Unprocessable Entity | The request was well-formed but the server was unable to process the contained instructions. |
| 423 | Locked | The resource that is being accessed is locked (WebDAV). |
| 424 | Failed Dependency | The request failed because it depended on another request that failed (WebDAV). |
| 425 | Too Early | The server is unwilling to process a request that might be replayed. |
| 426 | Upgrade Required | The client should switch to a different protocol. |
| 428 | Precondition Required | The origin server requires the request to be conditional. |
| 429 | Too Many Requests | The user has sent too many requests in a given amount of time (rate limiting). |
| 431 | Request Header Fields Too Large | The server refuses to process the request because the headers are too large. |
| 451 | Unavailable For Legal Reasons | The server is denying access to the resource as a consequence of a legal demand. |
5xx Server Error
These codes indicate that the server failed to fulfill an apparently valid request.
| Code | Name | Description |
|---|---|---|
| 500 | Internal Server Error | A generic error message when the server encounters an unexpected condition. |
| 501 | Not Implemented | The server does not support the functionality required to fulfill the request. |
| 502 | Bad Gateway | The server, while acting as a gateway or proxy, received an invalid response from the upstream server. |
| 503 | Service Unavailable | The server is not ready to handle the request. Common during maintenance or overload. |
| 504 | Gateway Timeout | The server, while acting as a gateway or proxy, did not receive a timely response. |
| 505 | HTTP Version Not Supported | The server does not support the HTTP protocol version used in the request. |
| 506 | Variant Also Negotiates | Transparent content negotiation resulted in a circular reference. |
| 507 | Insufficient Storage | The server is unable to store the representation needed to complete the request (WebDAV). |
| 508 | Loop Detected | The server detected an infinite loop while processing the request (WebDAV). |
| 510 | Not Extended | Further extensions to the request are required for the server to fulfill it. |
| 511 | Network Authentication Required | The client needs to authenticate to gain network access (captive portal). |