Most of us have experienced pure disappointment when coming across the dreaded and notorious “404 Not Found” or the mysterious annoyance called “403 Forbidden”. However, despite these error codes’ share of popularity, not many people are familiar with what exactly these codes are.
So today let’s learn about all the bane of web surfers – the HTTP status code
HTTP status code in a nutshell
The HTTP status codes are answers from the server to the client-side request. One of the most popular codes – 404 – is a HTTP status code that refers to the “page not found” error. Besides 404, there are many other HTTP error status codes.
HTTP status codes aren’t part of the website’s content, but are messages from the server informing you of the status of the request to access a specific page. Think of HTTP codes as small notice notes from a server that are being slapped onto a web page.
HTTP status code class and how it works
The way HTTP status code works is the browser sends requests to the web server whenever someone views a web page (as in click on a link or enter in a URL and hit Enter). Before the web page can be shown, the web server must receive the request, process it, and then transmit the HTTP header, which carries the page’s status code, to the client’s browser.
While the codes are returned every time your browser requests a web page or resource, the majority of the time they are not visible to you. For example, the status for a standard web page is “200 O.K.”. When a web page is still operating well, you will not see the 200 status code, since the server will transmit the contents of the requested page to you. It’s generally only whenever things go south that you’ll notice the status code in your browser. That is the way for the server to explain: “Something isn’t quite right. Here’s a code that explains what mistakes occur.”
HTTP status codes come in three digits with five categories. The first digit of the status code determines the response class:
- 1xx – informational response
- 2xx – successful
- 3xx – redirection
- 4xx – client error
- 5xx – server error
The reason why they are in a group of three is that they were used as mnemonics, similar to TLA. Plenty of terms in computing are TLA, so is anyone there surprised that the status codes have three digits?
HTTP error messages and their meaning
As stated, HTTP code is a group of three characters with five classes, but what exactly is the meaning behind these numbers?
Explaining HTTP error code
Let’s take 404 as an example. We can break the code down into three separate numbers, similar to how we pronounce it: 4, 0, and another 4.
The first 4 (in the 4xx format) specify that it is a client’s error. Maybe you have made a mistake, a typo for example, when typing the URL, or the web page just simply no longer exists.
The middle 0 indicates a general syntax error. And the last number, which can be anything from 0 to 9, refers to what specific issue is inside the 4xx error category – in the 404 case, what you’re looking for is non-existent. Summing up, we have the 404 code indicating it is an “not found” error from the client side.
List of HTTP error codes (HTTP status code + The meaning of each code)
|Error status code||Code meaning|
|3xx||URLs that redirect to another URL|
|300 Multiple Choice||The request has multiple responses that the client may choose|
|301 Moved permanently||The requested URL has been changed permanently. The response also contains the new URL|
|302 Found (previously Moved Temporarily)||The page address has been changed temporarily and the client should look at another URL|
|303 See Other||The server will redirect the client using the GET method|
|304 Found (previously Moved Temporarily||The page address has been changed and the new URL is available|
|305 Use Proxy||The requested resource must be reached through a proxy. For security reason, this code is no longer used|
|4xx||Problem has occurred on the client’s end|
|400 Bad Request||The server could not understand the request due to client error (e.g., malformed request syntax, deceptive request routing, etc.)|
|401 Unauthorized||The client is denied access due to not having valid authentication credentials|
|402 Payment Required||Reserved for future use. Originally intent as part of a form of future digital payment methods|
|403 Forbidden||The client is not allowed to view a certain file or the webserver denies access for some reason (e.g. no more visitors)|
|404 Not Found||The requested files are not on the server because these files have been deleted, or never existed before|
|405 Method Not Allowed||Resource requested by the client is not supported by the server|
|406 Not Acceptable||Server understood and processed the request, but the client cannot understand the form of response|
|407 Proxy Authentication Required||The client must authenticate itself with the proxy before the request can proceed|
|408 Request Time-out||The server took too long (usually caused by high network traffic) to process the request|
|409 Conflict||Client’s request could not be processed due to a conflict in the current state of the server|
|410 Gone||Similar to 404, the 410 indicates the resource is not present anymore, so search engines, spiders etc., can purge this resource from their indices.|
|411 Length Required||The content length was not specified so the server refuses to process the request|
|412 Precondition Failed||The server does not meet the preconditions in the request header|
|413 Payload Too Large||The request is larger than the server’s limits|
|414 URI Too Long||The URI provided was too long for the server to process|
|415 Unsupported Media Type||The server does not support the media format of the requested data|
|5xx||Problem has occurred on the server’s end|
|500 Internal Server Error||A generic error message – something is wrong with the webserver or the server can’t determine the exact problem|
|501 Not Implemented||The server cannot handle the request because it does not support the request method|
|502 Bad Gateway||The server, while acting as a gateway, received an invalid response from upstream|
|503 Service Unavailable||A temporary error for when the server cannot handle the request (e.g. server overloaded or down)|
|504 Gateway Time-out||Similar to 408 Request time-out error, but this error occurs at the server port, showing the server is down or not working|
|505 HTTP Version Not Supported||The server does not support the request’s HTTP version|
You may have also noticed that there are no 1xx and 2xx codes in our common error code table. This is because both 1xx and 2xx classes mean the request and action requested by the client was received, understood, and accepted – They are the “success” code, not “error” code, which won’t be shown to the client side.
Rise of the code
As the internet blew up, so did the popularity of the error code. One of the HTTP codes that has become so well-known, it’s no longer contained in just the computing industry and has become an element of global pop culture – Yes, we are talking about the 404 error code. The “404 Not found” code has firmly cemented itself into the mainstream, and became the international shorthand for anything that is missing, lost, or can’t be found.
With such a negative meaning, normally people don’t wish to associate with 404, right?
So you can imagine our reaction when we, IPTP Networks, a trusted network company, somehow stumble our way into this 404 predicament.
Back in the day, when we were negotiating the rental of space for our Matrix 4 data centre in Amsterdam, it had the address Kruislaan 411. We were pretty satisfied with this address because the number 411 is known as “directory assistance” in North America. Want to find a phone number? Hit up 411. Address? 411. Want the world-class data centre, built using industry-leading solutions and technologies? Head straight for 411 (Kruislaan Street).
So everything was absolutely fine and dandy until the area decided that it was time for a change.
And with the new change in address, Matrix 4 is currently situated at (you guessed it!) 404 Science Park.
411 to 404.
Matrix 4 went from the directory-guide number to the cannot-be-found number.
We like to think that this is proof that life tends to hurl bad signs at you when you excel at something. We are really confident in our service availability and this event is a life way of giving IPTP the thumbs up. Just like the occasional 404 is a little price to pay for an endless supply of cat memes. A bad for a good, you know? Have to keep the universe balanced.
For those that want to investigate our supposedly “not found” data centre: Matrix 4