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 TypeDescription Link Juice


 300RedirectionThe server is waiting for an action from the user so that it can fetch a new resource Depends
 301*RedirectedThe old page has permanently moved to a new web address Carried
 302RedirectedThe old page has temporary moved to a new location but the user should continue using the old URL later Not carried
 303Conditional redirectionThe 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
 304Conditional redirectionThe user has performed some action (conditional GET request) but the current page was not modified. Not carried
 305RedirectedThe user can only access the requested page using a proxy. Not carried
 306RedirectedThe 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
 201SuccessThe server has processed the requested page and created a new page or resource during the request. Depends
 202 Partial successThe server has received the request for the webpage and is currently processing it. Carried
 203 Partial successThe server has received the request for the webpage and it is waiting for a resource from another page. Carried
 204 Partial successThe server processed the request for the webpage but no content has been returned due to an error. Carried
 205 Partial successSame as 204 but this time the server is waiting for the user to complete a specific action. Carried
 206 partial SuccessThe server received a partial GET request from the user. Carried

Request Errors

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

Server Errors

 500Internal Server errorThe server is facing issues with some internal configuration and thus unable to fulfill the request at this timeNot carried
 501Not recognizedThe server is not equipped to understand the type of request sentNot carried
 502Bad gatewayWhile fulfilling the current request, the server received an incorrect response from its upstream serverNot carried
 503Server not availableThe server is facing downtime or is currently unavailableNot carried
 504Gateway timeoutThe server is acting as a gateway or a proxy server to
another resource and didnt received a timely request from the user
Not carried
 505Server does not support protocolThe server is not configured to support the HTTP protocol version that is used in the requestNot 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.