This is a list of Hypertext Transfer Protocol (HTTP)
response status codes. Status codes are issued by a server in response to a client's request made to the server. It includes codes from IETF Request for Comments (RFCs), other specifications, and some additional codes used in some common applications of the HTTP. The first digit of the status code specifies one of five standard classes of responses. The optional message phrases shown are typical, but any human-readable alternative may be provided, or none at all.
The Internet Assigned Numbers Authority (IANA)
maintains the official registry of HTTP status codes.
There are five ranges of HTTP status codes. Each range defines where the error was encountered and the number defines what the actual error was.
Here are the 5 ranges and what they mean:
- 1xx: Informational
- 2xx: Success!
- 3xx: Redirect. The requested page has moved somewhere else.
- 4xx: Client error. There's something wrong with the way the browser asked for the page.
- 5xx: Server error. Something went wrong with the way the server tried to send the page.
Obviously, all status codes are important "You should know how healthy your site is" but there are certain ones that are particularly important for SEO(Search Engine Optimization) and anyone working on a website.
There are five different HTTP status code categories (or classes). Each one represents a different response from the server to the browser.
1xx - Informational codes: The server acknowledges and is processing the request.
2xx - Success codes: The server successfully received, understood, and processed the request.
3xx - Redirection codes: The server received the request, but there’s a redirect to somewhere else (or, in rare cases, some additional action other than a redirect must be completed).
4xx - Client error codes: The server couldn’t find (or reach) the page or website. This is an error on the site’s side.
5xx - Server error codes: The client made a valid request, but the server failed to complete the request.
This category is informational, temporary, and invisible to the client. It indicates the server received the request and will proceed with it.
The HTTP 100 Continue informational status response code indicates that everything so far is OK and that the client should continue with the request or ignore it if it is already finished.
The HTTP 101 Switching Protocols response code indicates a protocol to which the server switches. The protocol is specified in the Upgrade request header received from a client. The server includes in this response an Upgrade response header to indicate the protocol it switched to
The HTTP 102 Processing informational status response code indicates to the client that a full request has been received and the server is working on it. This status code is only sent if the server expects the request to take significant time. It tells the client that your request is not dead yet.
The HTTP 103 Early Hints information response may be sent by a server while it is still preparing a response, with hints about the resources that the server is expecting the final response will link. This allows a browser to start preloading resources even before the server has prepared and sent that final response.
An IE7-only code that indicates that the URI is longer than the maximum 2,083 characters.
This status code category encompasses successful responses.
This is the standard response for successful HTTP requests. The actual meaning of the response depends on the request method used:
GET: Resource obtained and is in the message body.
HEAD: Headers are included in the response.
POST or PUT: The Resource describing the result of the action sent is in the message body.
TRACE: Message body contains the request message as received by the server.
201 - Created:
The request succeeded and a new resource was created. This is usually the response after POST or PUT requests.
202 — Accepted:
The request was accepted but is still in progress. It’s used for cases where another server handles the request or for batch processing.
203 — Non-Authoritative Information:
The data returned isn’t from the origin server. Instead, it’s a modified version collected from a third party.
204 — No Content:
The request was successfully processed, but there is no content. The headers may be useful.
205 — Reset Content:
The server fulfilled the request but asked the user to reset the document.
206 — Partial Content:
The server is delivering part of the resource. This response is used when the client sends a Range header to request only part of a resource.
207 — Multi-Status:
Provides the statuses of multiple resources, depending on how many sub-requests were made.
208 — Already Reported:
The members of a DAV:propstat element have already been listed and won’t be included again.
226 — IM used:
The server completed a GET request. And the response indicates one or more instance-manipulation results.
The status codes in this category show the resource is in a different location, and the user gets redirected as a result.
Indicates multiple options for the resource delivered, such as format options for video or list files with different extensions. The user can select preferred representation and redirect the request to that location.
This request and all future ones should be directed to the given URI.
Indicates that the requested resource can be found temporarily via an alternative URI. Because many popular user agent implementations treat 302 responses similar to 303 responses, both status codes 303 and 307 were added to allow servers more specificity.
Indicates the response to the request can be found via alternative URI using GET method. Many pre-HTTP/1.1 user agents do not recognize 303, in which case the 302 status code can be used instead.
Indicates that the resource has not been modified since last requested, and there is no need to retransmit as the client has a previously downloaded copy.
Requested resource is located elsewhere and can be accessed through a proxy provided in the response. For security reasons, HTTP clients like Firefox and Internet Explorer do not correctly handle 305 responses.
Originally indicated that subsequent requests should use the proxy specified. This status code is no longer used.
Indicates that the request should be repeated with a different URI as specified, but future requests should use the original URI.
This and all future requests should be repeated using a different URI as specified. Unlike 301 and 302, with 307 and 308 status codes the HTTP method should not change.
This category indicates the server can’t reach a page due to an error on the client side.
The request cannot be processed by the server because of a client error such as syntax, framing, or routing.
Indicates that authentication is required and was either not provided or has failed. If the request already included authorization credentials, then the 401 status code indicates that those credentials were not accepted.
Reserved for future use. Originally intended to be part of a digital cash or micropayment model, this code is not currently widely used.
Indicates that though the request was valid, the server refuses to respond to it. Unlike the 401 status code, providing authentication will not change the outcome.
Indicates that the requested resource could not be found but may be available in the future.
The request method is not supported by the resource requested, as when using GET on a form that requires data to be presented via POST.
The requested content is not acceptable according to the requestÕs Accept headers.
The client must first authenticate itself with the proxy.
Indicates that the server timed out while waiting for the request, though the client may repeat the request without modifications.
There is a conflict in the request that prevents it from being processedÑfor example, an edit conflict in the case of multiple updates.
The requested resource is no longer available and will not be available again, as when a resource has been intentionally removed and should be purged. The client should not request the resource again.
The request did not specify the length of its content, though length is required by the requested source.
Indicates that the server does not meet the request preconditions as specified by requester.
Indicates that the request is larger than the server can or will process.
The provided URI was too long to be processed by the server. When resulting from too much data encoded as GET request query-string, convert to a POST request.
The server does not support the media type included by the request entity.
Indicates that the client has requested a portion of the file that the server is unable to provide, such as a part of the file that lies beyond the end of the file.
Indicates that the server is unable to meet the requirements of Expect request-header field.
Defined in 1998 as a traditional IETF April FoolÕs joke and is not expected to be implemented by actual HTTP servers. The RFC specifies that this code should be returned by teapots requested to brew coffee.
Indicates that previously valid authentication has expired. Though not a part of the HTTP standard, the 419 status code is used as an alternative to 401 to differentiate from unauthorized clients being denied access.
Defined by Spring in the HttpStatus class to be used when a method fails. Not a part of the HTTP standard, this status code is deprecated by Spring.
Returned by version 1 of the Twitter Search and Trends API when the client is being rate limited. Not a part of the HTTP standard.
Indicates that the request is directed at a server that is unable to produce a response.
Indicates that the request is unable to be followed due to semantic errors.
Indicates that the resource that is being accessed is locked.
Indicates that the request failed because of the failure of a previous request.
Indicates that the client should switch to a different protocol as specified in the Upgrade header field.
Indicates that origin server requires the request to be conditional to prevent the Òlost updateÓ problem.
Occurs when the user has sent too many requests in a given amount of time. For use with rate limiting.
Indicates that the request cannot be processed by the server because a single header field or all headers are collectively too large.
Microsoft extension indicating that the session has expired.
In Nginx logs as a malware deterrent, indicates that the server returned no information and closed the connection.
Microsoft extension indicating that the request should be retried after performing a specific action.
Microsoft extension indicating that Windows Parental Controls are turned on and blocking access to the page in question.
Indicates that resource access has been denied for legal reasons such as censorship or government-mandated blocked access. Defined in the Internet draft as "A New HTTP Status Code for Legally-restricted Resources." References the dystopian novel Fahrenheit 451 (1953), in which books are outlawed.
In Exchange ActiveSync, used when there is a more efficient server or the server cannot access the clientÕs mailbox. The client should re-run the HTTP Autodiscovery protocol to find a better-suited server.
Similar to 431, Nginx internal code earlier in version 0.9.4.
Nginx internal code indicating that SSL client certificate error has occurred
Nginx internal code indicating that the client didn't provide a certificate.
Nginx internal code indicating that plain HTTP requests were sent to the HTTPS port.
Returned by ArcGIS for Server when the token is expired or otherwise invalid.
In Nginx logs, indicates that the connection has been closed by the client while the server is still processing its request, in which case the server is unable to send a status code back.
Returned by ArcGIS for Server when a token is required but was not submitted.
This category includes errors on the server side. They can be detrimental to your SEO, as search engines can prompt crawlers to slow down with crawling and remove indexed URLs that continually return these errors.
The server has encountered an unexpected error and cannot complete the request.
The server can’t fulfill the request or doesn’t recognize the request method.
The server acts as a gateway and gets an invalid response from an inbound host.
The server is unable to process the request. This often occurs when a server is overloaded or down for maintenance.
The server was acting as a gateway or proxy and timed out, waiting for a response.
The server doesn’t support the HTTP version in the request.
The server has an internal configuration error.
The server doesn’t have enough storage to process the request successfully.
The server detects an infinite loop while processing the request.
Further extensions to the request are required for the server to fulfil it.[28]
The client must be authenticated to access the network. The error should include a link where the user can submit credentials.