HTTP status codes and their meaning
The internet is made up of more than 1 billion websites. If an internet user wants to pull up a website, such as the homepage of their favourite team, their bank, or their email inbox in their web browser, they first need an internet address. This locates the desired website on the relevant network server. The transfer of the requested data on the local computer takes place thanks to the Hypertext Transfer Protocol HTTP. The browser (referred to as ‘client’ in this case) requests that the web server answers with an HTTP status code comprising of three numbers. The web server then informs the browser whether the request was successful, whether there was an error or whether authentication is required. The HTTP status code is therefore an essential part of the web server’s transmitted response and the server includes it automatically in the heading of every HTTP answer. An internet user normally only sees an HTTP status code in the form of an automatically generated HTML page if the web server wasn’t able to perform the client’s request or couldn’t transfer any website information.
HTTP status code classes
HTTP status codes are generally divided into five different classes. The first digit of the three-digit code shows which class it belongs to. The HTTP status code 200 therefore belongs to the 2xx class and the 404 code to the 4xx class. This classification is decided based on the significance and function of the status code. The different classes are:
- Class 1xx – Informational: If an HTTP status code 1xx is transmitted, the server informs the client that the request is in motion. This class combines codes that are responsible for delivering information to the client during the request.
- Class 2xx – Success: A 2xx code announces a successful operation. If this code is transmitted, it means that the client’s request was received by the server, understood, and accepted. 2xx codes are often sent at the same time as the desired website information, and the user often only takes notice of the website they have requested.
- Class 3xx – Redirection: A 3xx code shows that the server’s request was received. In order to ensure the request is successfully processed, further steps are needed from the client’s end. 3xx codes appear during redirections and forwards.
- Class 4xx – Client error: If a 4xx code appears then there’s been a client error. The server has received the request, but cannot perform it. The reason behind this is usually an incorrect request. Internet users will be made aware of this error by receiving an automatically generated HTML page.
- Class 5xx – Server error: A 5xx code is shown when the server has failed to perform the request. These server error codes report that the request cannot be performed at present or is not possible at all, which then leads to an HTML error page.
Important HTTP status codes at a glance
HTTP status codes play an important role for website owners or SEO specialists. Client error codes, such as 404 (Not Found) or server errors like 503 (Service Unavailable) are visible to website visitors since these are shown in the web browser as automatically generated HTML pages. There are many HTTP codes that aren’t visible at first glance and can only be controlled by the administrator using special tools and browser extensions. Finding errors and rectifying them is advisable so that user experience and search engine ranking is optimized. The most common response codes are shown below. You’ll find a complete list on Wikipedia.
- Status code 200 – OK: The HTTP status code 200 shows that the request was successfully carried out. All the requested data was located on the web server and transferred to the client. Internet users do not usually see this code.
- Status code 301 – Moved Permanently: The 301 code means that the data requested from the client cannot be found under the given address since it has been moved permanently. Since the current location of the requested content is delivered in the status report, the browser can request the new address straightaway. The user is then forwarded to the new address and the old address is no longer valid. The 301 code also goes unnoticed because the URL in the address bar simply changes.
- Status code 302 – Moved Temporarily: Unlike the 301 code, which is a permanent redirection, the 302 informs the user that the requested data has temporarily been moved. With a 302 code the remaining information is specified so that an automatic redirection can take place. The old address remains valid.
- Status code 403 – Forbidden: The HTTP status code 403 tells the client that the requested data is access-protected and that the request cannot be performed due to the client not having authority. An automatically generated HTML page will let the user know about the access problem.
- Status code 404 – Not Found: If the server delivers a 404 message it means that the requested website information was not found on the server. It could be that the address no longer exists or the contents were moved to a new address without notice. Users that receive a 404 message should check whether the address was written correctly in the address bar. Any links to non-existing pages are known as ‘dead links’.
- Status code 500 – Internal Server Error: The 500 server response functions as a collection status code for unexpected server errors. If an error occurs on the server’s part, which prevents the requested data from being retrieved, this HTTP status code will automatically be issued. As well as sending an answer to the client the webserver also creates an internal error report. This should be analyzed by the website owner so that repairs can be carried out on the server software.
- Status code 503 – Service Unavailable: If the user receives a 503 code it means that the relevant web server, which should deliver the requested information, is overloaded. The server response occasionally contains information about when the request can be processed at the earliest. Internet users can presume that an administrator is working on the problem and that the server will be available later on.
More important HTTP status codes are:
How do website owners avoid HTTP status codes?
In order to offer website visitors an optimal user experience, administrators should work on keeping automatically generated HTML error pages to a minimum. This especially applies to websites with a large web presence like online shops or news portals that have strongly-fluctuating product ranges or information. A visitor receives a 404 (Not Found) status message when a web page does not exist anymore. For many users this is a reason to exit the site and look for the desired information or product elsewhere, which could end up being on a competitor’s site. It’s therefore important for the website owner to do everything possible to keep the visitor on their website and also to identify 404 errors on the website. Google’s webmaster tools can create crawling error statistics for this purpose. The 404 HTTP status code can be avoided by redirecting users to the relevant location. The bounce back rate of visitors can be decreased through manually created error pages.
Redirecting 404 error pages to alternative options using the 301 code
If a 404 error occurs due to a deleted page you can redirect the user to similar content using the 301 (Moved Permanently) status code. If the visitor does not find the product or information that they requested, the alternative content will encourage them to stay around longer. What counts here is that the alternative address is related to the original request and offers value to the visitor. Theoretically 404 pages are automatically redirected by a 301 code to alternative addresses such as a start page. If you manually look for suitable redirection landing pages, you will be more effective at stopping the visitor from jumping ship.
Alternative error pages improve user experience
Despite good website maintenance, 404 errors cannot always be avoided. Therefore it is recommended to manually integrate your own notifications rather than using the server’s automatically generated HTML error pages. The configuration file .htaccess enables users to carry out this process. Alternative 404 messages are adapted to the design of the website and, on top of the status code, often offer extra information, comparable product pages, or an overview of the information on offer. How website owners can integrate alternative error pages is explained in article 10.
What do HTTP status codes mean for search engine optimisation?
Many HTTP status codes are of great importance when it comes to search engine optimisation (SEO). The 404 code does not just mean that the requested site cannot be found, but also that search engines can’t crawl the content. Just like with human visitors, search engine bots are also forwarded to different content. For SEO reasons the 301 code is displayed since link strength maintenance is of great importance. If the search engine crawler finds a 301 status code during a web address request, the invalid address will be deleted from the search index and a redirect then takes place.
The link strength of old pages doesn’t get lost in the process but is transferred to the 301 forwarding destination. This is especially useful if the old page had been the destination of incoming links and you want the acquired authority and strength to be transferred to the redirection destination. The 302 status code behaves differently since it only displays a temporary redirect so the old address stays in the index. The link power of existing backlinks isn’t transferred to the redirection destination in this case.