HTTP Status Code
#http
When a web browser makes an HTTP request to a server, the status code indicates whether the request was successful or failed, and what action to take next.
There are five main groups of HTTP status codes.
1xx (Information): Informational Responses
- 100 (continue): The server has received the request header and the client is sending the request body.
- 101 (switching protocols): The client is asking the server to switch protocols.
- 102 (processing): The client has made a request and the server is processing it, but there is no response yet.
- 103 (checkpoint): Used for recovering interrupted PUT and POST requests.
2xx (Successful): Successful Responses
- 200 (ok): The request was successful and the response is returned without errors.
- 201 (created): The request was successful, and a new resource has been created.
- 202 (accepted): The request was accepted for processing, but the processing has not been completed yet.
- 203 (non-authoritative information): The server returned some of the requested information but not the full response.
- 204 (no content): The request was successful, but there is no content to return. Often used for delete requests.
- 205 (reset content): No content is returned, and the clientβs view needs to be reset.
- 206 (partial content): The server is sending only a partial response due to a range request by the client.
- 207 (multi-status): A response that contains multiple status codes for multiple resources.
- 208 (multi-status): Used in WebDAV to avoid listing the same internal members multiple times in a response.
- 226 (IM Used): The server has successfully processed a resource using one or more instance manipulations.
3xx (Redirection): Redirection Responses
- 300 (Multiple Choices): The client can choose from a set of options (e.g., several links).
- 301 (permanently moved): The requested page has been permanently moved to a new URL.
- 302 (found): The requested page has been temporarily moved to a new URL.
- 303 (see other): The requested page can be found at another URL.
- 304 (not modified): The page has not been modified since the last request.
- 305 (use proxy): The client must use a proxy as specified in the location field.
- 306 (switch proxy): A deprecated code that is not used.
- 307 (Temporary Redirect): Similar to 302 Found but the client must use the same HTTP method.
- 308 (Permanent Redirect): Similar to 301 Moved Permanently but the client must use the same HTTP method.
4xx (Client Error): Client Error Responses
- 400 (Bad Request): The request contains a syntax error, and the server cannot understand it.
- 401 (Unauthorized): The request requires authentication and the client is not authorized.
- 402 (Payment Required): A status code that is not currently in use but may be used in the future for payment-related issues.
- 403 (Forbidden): The client is authenticated, but does not have permission to access the requested resource.
- 404 (Not Found): The requested resource cannot be found.
- 405 (Method Not Allowed): The HTTP method used is not allowed for the resource.
- 406 (Not Acceptable): The requested resource is not acceptable according to the
Accept
header in the request.
- 407 (Proxy Authentication Required): Authentication is required by the proxy server.
- 408 (Request Timeout): The server timed out waiting for the request.
- 409 (Conflict): The request could not be completed due to a conflict, such as attempting to create a resource that already exists.
- 410 (Gone): The requested resource is no longer available.
- 411 (Length Required): The
Content-Length
header is missing, and the request cannot be processed.
- 412 (Precondition Failed): One of the preconditions in the request header was not met by the server.
- 413 (Request Entity Too Large): The request is too large for the server to process.
- 414 (Request-URI Too Long): The request URI is too long.
- 415 (Unsupported Media Type): The server cannot process the media type of the request.
- 416 (Requested Range Not Satisfiable): The client requested a part of the resource that the server cannot provide.
- 417 (Expectation Failed): The server cannot meet the requirements of the
Expect
header.
- 418 (I'm a teapot): This is an April Fools' joke from 1998, where a teapot refuses to make coffee, referencing the Hyper Text Coffee Pot Control Protocol (HTCPCP).
- 422 (Unprocessable Entity): The request was well-formed, but there was an issue with the entity (e.g., invalid data).
- 429 (Too Many Requests): The client has sent too many requests in a short time.
5xx (Server Error): Server Error Responses
- 500 (Internal Server Error): A generic server error that occurs when the server is unable to handle the request.
- 501 (Not Implemented): The server does not support the functionality required to fulfill the request.
- 502 (Bad Gateway): The gateway or proxy server encountered an error or is overloaded.
- 503 (Service Unavailable): The server is temporarily unavailable due to maintenance or overload.
- 504 (Gateway Timeout): The gateway or proxy server did not receive a timely response from the upstream server.
- 505 (HTTP Version Not Supported): The server does not support the HTTP version used in the request.
- 511 (Network Authentication Required): The client must authenticate to gain network access.
References: