NOTE httpstatus.io only sends requests with version 1.1 of the HTTP protocol.
An overview of the most common HTTP status codes.
HTTP status codes are three-digit numbers that indicate the outcome of a client's (browser, search engine bot, etc.) request to a server during an HTTP transaction. They are part of the response message sent by the server to inform the client about whether their request was successful or encountered an error. These status codes can be grouped into five main categories: informational responses, successful responses , redirects, client errors, and server errors. Each category contains a number of different responses. On this page you will find an overview of the most common HTTP status codes.
The message that accompanies a server status response code doesn't matter for clients. Most clients rely only on the status code 'number' itself. A message should be seen as a recommendation and it is not required the client should examine them.
The status message may differ by HTTP version or even between different RFC documents for the same HTTP version. And with the introduction of HTTP/2, the protocol does not contain a status message or reason at all.
In HTTP/1.1, the status line of a response includes both a numeric status code and a corresponding textual status message. For example, "200 OK" or "404 Not Found".
However, in both HTTP/2 and HTTP/3, the specification has changed so that only the numeric status code is required in the response's status line. The textual status message component has been removed.
The reason behind this change is to improve performance by reducing unnecessary bytes transferred over the network.
So, while it was true in previous versions like HTTP/1.0 and 1.1 that both a numeric code and a text message were part of the response's initial line, newer versions like HTTP/2 and HTTP/3 have eliminated the need for including textual messages with each response.
An informational response indicates that the request was received and understood. It is issued on a provisional basis while request processing continues. It alerts the client to wait for a final response.
Status codes that indicate that the server successfully processed the request.
Code | Message | Description |
---|---|---|
200 | OK |
The server successfully processed the request. Generally,
this means that the server provided the requested page.
Read more
How Google handles the 200 status code
Google sends the content to be processed for indexing. It might get added to the index, but that's not always guaranteed. |
204 | No Content |
The server sent a valid reply to a client request that
contains header information only (i.e., does not contain any
message body). Web clients can use this status to process
server responses more efficiently, avoiding refreshing pages
unnecessarily, for example.
Read more
How Google handles the 204 status code
Googlebot tells the system it didn't find any content on the page. This could cause Search Console to display a 'soft 404' error in the Page Indexing report. |
Further action is needed to fulfill the request. Often, these status codes are used for redirection.
Code | Message | Description |
---|---|---|
301 | Moved Permanently |
The requested page has been permanently moved to a new
location. When the server returns this response, it
automatically forwards the requestor to the new location.
The response should also include this location. It tells the
client to use the new URL the next time it wants to fetch
the same resource.
Read more
How Google handles the 301 status code
Googlebot follows the redirect and treats it as a strong signal that the final destination of the redirect should be the main (canonical) version of the page. |
302 | Found |
The server is currently responding to the request with a
page from a different location, but the requestor should
continue to use the original location for future requests.
Read more
How Google handles the 302 status code
Googlebot follows the redirect, but treats it as a weak signal that the destination page might be the main (canonical) version. |
304 | Not Modified |
The requested page hasn't been modified since the last
request. When the server returns this response, it doesn't
return the contents of the page.
How Google handles the 304 status code
Googlebot notices the content hasn't changed since the last crawl. It may recalculate signals for the page (URL), but the status code doesn't affect the page's indexing. |
307 | Temporary Redirect |
The server is currently responding to the request with a
page from a different location, but the requestor should
continue to use the original location for future requests.
There is very little difference between a 302 status code
and a 307 status code, but you can use both to temporarily
point users to another URL. This status code has the same
semantic as the 302 Found HTTP response code, with the
exception that the user agent must not change the HTTP
method used.
Read more
How Google handles the 307 status code
Similar to the 302 redirect. |
308 | Permanent Redirect |
This means that the resource is now permanently located at
another URI, specified by the Location: HTTP Response
header. This has the same semantics as the 301 Moved
Permanently HTTP response code, with the exception that the
user agent must not change the HTTP method used.
Read more
How Google handles the 308 status code
Similar to the 301 redirect. |
These status codes indicate that there was likely an error in the request which prevented the server from being able to process it.
Code | Message | Description |
---|---|---|
400 | Bad Request | The server didn't understand the syntax of the request. |
401 | Unauthorized |
The request requires authentication, before a resource can
be accessed, the client must be authorized by the server.
The server might return this response for a page behind a
login.
Read more
How Google handles the 401 status code
Don't use 401 status code to control how often Google crawls your site. 4xx errors, except 429, don't affect the crawl rate. |
403 | Forbidden |
The server is refusing the request. Unlike a 401
unauthorized response, authenticating will make no
difference.
Read more
How Google handles the 403 status code
Don't use the 403 status code to control how often Google crawls your site. 4xx errors, except 429, don't affect the crawl rate. |
404 | Not Found |
The server can't find the requested page. For instance, the
server often returns this code if the request is for a page
that doesn't exist on the server.
Read more
How Google handles the 404 status code
When Googlebot finds new 404 pages, they aren't processed for indexing, and over time, Googlebot will crawl them less frequently. |
408 | Request Timeout | The request you sent to the website server (e.g. a request to load a web page) took longer than the website's server was prepared to wait. In other words, your connection with the website "timed out". |
410 | Gone |
The server returns this response when the requested resource
has been permanently removed. It is similar to a 404 (Not
found) code, but is sometimes used in the place of a 404 for
resources that used to exist but no longer do. If the
resource has permanently moved, you should use a 301 to
specify the resource's new location.
Read more
How Google handles the 410 status code
Google treats 410 status codes as a strong signal that a page is permanently gone and won't come back. If a 410 error is returned, Google will remove the page from its index more quickly than if a 404 error is used. A 404 might be treated as temporary, but a 410 is viewed as a final removal. |
429 | Too Many Requests |
The client has sent too many requests in a given amount of
time ("rate limiting").
How Google handles the 429 status code
Googlebot treats the 429 status code as a sign that the server is overloaded and considers it a temporary server error. It reduces its crawl rate to ease the load. While Google preserves already indexed URLs for a time, they will eventually be dropped from the index if the 429 error persists. |
These status codes indicate that the server is aware that it is on error or is incapable of performing the request.
Code | Message | Description |
---|---|---|
500 | Internal Server Error | The server encountered something it didn't expect and was unable to complete the request. |
502 | Bad Gateway | The server received an invalid response from another server. |
503 | Service Unavailable | The server is currently unavailable (due to a server overload or because it's down for maintenance). Generally, this is a temporary state. Read more |
504 | Gateway Timeout Error | The server did not receive a timely response from another server that it was accessing while attempting to load the web page or fill another request by the browser. In other words, 504 errors usually indicate that a different computer, one that the website you're getting the 504 message on doesn't control but relies on, isn't communicating with it quickly enough. |