An HTTP status code is essentially a short note from a web server that’s tacked to the top of a web page. It’s not really part of the page. It’s a message from the site’s server displaying how things went when the request to view the page made it to the server.
This is a message that’s returned each time your browser interacts (in any way) with the server. The messages aren’t displayed for each interaction, so many people still don’t fully understand them.
If you own a website or are a developer, understanding all the HTTP status codes is essential. When they appear, the code provided is an invaluable tool to diagnose and fix website configuration errors. You can click here to learn about Cloud Syslog service and continue reading to learn more about error codes and how they impact your site.
Where are HTTP Status Codes Created? Where Do They Wind Up?
Each time you click a link or type in a URL, your browser sends the request to the web server. The server receives and processes the request made, sending back the resources requested, and the HTTP header.
The HTTP status code is delivered to the browser by way of the HTTP header. Even though status codes are provided each time your browser makes a request for a resource or web page, usually they aren’t seen. When something goes wrong is when the HTTP status code is going to show up. This is the server’s way to let you know that something isn’t right.
If you want to see the codes your browser doesn’t typically show you, there are tools that make this possible. You can download browser extensions for developer-friendly browsers, such as Firefox and Chrome and there are several web-based header tools that fetch the codes, such as Web Sniffer.
The Classes of HTTP Status Codes
There are five classes of HTTP status codes. These include the following:
- 100’s: Consist of information codes that the request started by the browser is continuing.
- 200’s: Made up of success codes, which are returned when the browser request is received, then understood, and ultimately processed by the server successfully.
- 300’s: A redirection code that’s returned when a new resource is substituted for the resource requested.
- 400’s: A client error code indicates an issue with the request.
- 500’s: Error codes that indicate the request was accepted, but a server error prevented the request being granted.
In each of the above classes, there are several specific codes that may be returned by the server. Each of the individual codes has a unique and specific meaning.
An In-Depth Look at Common HTTP Status Codes
Currently, there are 40 different status codes. Understanding what these are and what they mean, can help website owners and developers better manage their websites and how they are seen and used by visitors.
The code “200” means that everything is fine. It’s a code that’s delivered (yet rarely seen) when a resource or web page acts as it should.
A common status code that’s seen is “301.” It’s delivered if a resource or web page is permanently replaced with another resource. It’s used for the purpose of permanent URL redirection.
For the 400’s, the most common code is a “401,” which means the resource is unauthorized and returned by the server when the resource doesn’t have the proper authentication credentials. Some of the other common codes from this class include “403,” which means access to a resource is forbidden, and “404,” which means the resource requested wasn’t found.
More Information about HTTP Status Codes
The information here explains the basic code types displayed, and that is going to be encountered. However, there are other codes website owners, or developers may see occasionally. There are several resources to help you learn more about the status codes that don’t necessarily fit into the classes described above.
One resource is the comprehensive list of status codes, which is available on Wikipedia. Due to the nature of Wikipedia, this list is updated regularly, giving you access to an accurate and updated list. Another resource is the status code definitions, which is provided by IETF or the Internet Engineering Task Force.