Different Types of HTTP Status Codes Explained In Layman’s Term

what are http status codesWhat is an HTTP status code and why should you care about them, if you have a website or a blog?

Whenever you enter the address of a webpage in your browser’s address bar, the browser requests data from the server where the page is originally hosted. The web server returns the data but before the browser receives and renders the data at the clients end, an HTTP header is returned by the web server that has the status code of the given page.

In general, HTTP status codes are not meant for human visitors but both desktop and mobile browsers use this information to know more about the present condition of the webpage in question. If the page is in a healthy state, the HTTP status code returned should be a 200 OK. If the page has been moved to a new address, the HTTP status code should be 301 and so on.

There are lots of different HTTP status codes in place and the following table should explain what are the different types of HTTP header responses and their purpose in brief detail:

HTTP Status code  Type Description  Link Juice


 300 Redirection The server is waiting for an action from the user so that it can fetch a new resource  Depends
 301* Redirected The old page has permanently moved to a new web address  Carried
 302 Redirected The old page has temporary moved to a new location but the user should continue using the old URL later  Not carried
 303 Conditional redirection The user is requested to do some action (GET request) so that the current page may redirect to another resource. The GET request
is conditional.
 Not carried
 304 Conditional redirection The user has performed some action (conditional GET request) but the current page was not modified.  Not carried
 305 Redirected The user can only access the requested page using a proxy.  Not carried
 306 Redirected The server is fetching the page from another location but it will soon fetch the page from its older source. This status code
is rarely used over a 302.
 Not carried


 200 ** Success  The server has processed the webpage correctly.  Carried
 201 Success The server has processed the requested page and created a new page or resource during the request.  Depends
 202  Partial success The server has received the request for the webpage and is currently processing it.  Carried
 203  Partial success The server has received the request for the webpage and it is waiting for a resource from another page.  Carried
 204  Partial success The server processed the request for the webpage but no content has been returned due to an error.  Carried
 205  Partial success Same as 204 but this time the server is waiting for the user to complete a specific action.  Carried
 206  partial Success The server received a partial GET request from the user.  Carried

Request Errors

 400  Fail Wrong syntax sent by the user  Not carried
 401 Authentication required The page is behind a login and/or requires an authentication from the user.  Not carried
 403 *** Forbidden The server denied the request.  Not carried
 404 Page does not exist The requested page is not found on the server.  Not carried
 405 Not allowed The server is not allowing any request to the page for this user.  Not carried
 406 Not allowed The server can’t respond to the request at this time.  Not carried
 407 Proxy required The resource must be requested via a proxy.  Not carried
 408 Timed out The server timed out performing the request.  Not carried
 409 Conflict The user’s action has given rise to a conflict of resource.  Not carried
 410 # Permanently removed The page has been permanently removed from the server.  Not carried

Server Errors

 500 Internal Server error The server is facing issues with some internal configuration and thus unable to fulfill the request at this time Not carried
 501 Not recognized The server is not equipped to understand the type of request sent Not carried
 502 Bad gateway While fulfilling the current request, the server received an incorrect response from its upstream server Not carried
 503 Server not available The server is facing downtime or is currently unavailable Not carried
 504 Gateway timeout The server is acting as a gateway or a proxy server to
another resource and didnt received a timely request from the user
Not carried
 505 Server does not support protocol The server is not configured to support the HTTP protocol version that is used in the request Not carried

* This is the only way to tell search engines that your old page has moved to a new location and the newer URL should be re-crawled and re-indexed. Only this server header preserves link juice and Google Pagerank but remember that if the page is part of a redirect chain, a considerable portion of the PR may be lost overtime.

** This should be normally the HTTP status code returned by a webpage if it’s static in nature and needs no GET request from the user.

*** If any of your pages return a 403 HTTP status code, it means that your web server denied the request of the page to Googlebot and human visitors. A possible case is when your web host is facing downtimes or it is blocking spiders and search bots from accessing some parts of your website, so you should be careful about it.

# This is similar to a 404 error but the standard practice is to 301 redirect the missing page to it’s newer location. If the page has no new location, it is recommended to return a 410. If you have temporarily removed the page from the server, use a 503 instead.

How To Check the HTTP Status code of a Webpage?

To check the HTTP status code or the server headers returned by a webpage, go to this link, enter the complete web address of the page in the “check server headers” text box and hit the “check” button.

Check server headers of a webpage

The site will process your webpage, check the HTTP server header and show it back to you. If you find that the server header returned is 200 OK, it means that the page in question is opening normally to all users and search engines or web crawlers can successfully parse it at their end.

Another good way to bulk check server headers is to use fetch as Googlebot in your your Google webmasters tools account. Go to site diagonostics > fetch as Googlebot and enter the URL of a page within your site to check its HTTP status code.

Find server headers of a webpage in Google webmaster tools

Also read: List of HTTP status codes

Don't miss the Free Book

101 websites for getting things done - an informative book which will make you more productive and efficient. Subscribe to get it for free.