Last month the Internet Engineering Task Force (IETF) introduced a new HTTP status code for legally-restricted resources. Ok, before you give up on reading this, writing it off as the most boring blog on the internet, I promise you it’s not quite that dry. In fact the new HTTP error code raises some interesting questions from a social responsibility / censorship and Freedom of Information perspective.
Firstly let’s get the technical part understood, it won’t take long and it’s pretty straight forward, promise.
What is a HTTP Response Code?
After receiving a request message, a server responds to the Client with a HTTP response code consisting of a number and message. The response code provides instructions to the Client (the Web browser in many cases) to do something different with the response.
Most of the time, as a user you will have no idea of this transaction because typically, if everything is fine, then a “200 OK” message is sent which basically means there are no issues. In fact any response starting with a 2xx means a success.
It’s really common for Web Masters to use HTTP response codes to redirect requests to different URLs. All 3xx codes are redirects, with 301 and 302 being the most common. Once again this process will be seamless and go unnoticed by the user.
However what users unfortunately DO see, and this can happen all too often, is the “404 Not Found” HTTP Error code which means that the requested page can’t be found. Any 4XX code relates to a client error. But the jackpot of all errors has to be the “500 Internal Server Error” which means that the site you are trying to visit is broken in some way.
All these codes are pretty techie but having an understanding of them can be very useful, increasingly so for web teams and marketers where the responsibility for website performance seems to be shifting from technical support to marketing departments. In fact we have many clients using the traffic rule builder feature on the edgeNEXUS load balancer to change and manipulate HTTP Response codes on the fly, achieving some really useful results for superb user experience. (More on this shameless plug later.)
So what’s the New 451 Error Code All About?
Introducing “Error 451 Unavailable for Legal Reasons”, the new code for censorship. When I first saw this I didn’t actually believe it was real.
The 451 HTTP Response Code is used where the content IS accessible……but not to you – sorry! It can be used to provide transparency in circumstances where issues of law or public policy affect server operations. Courts can require ISPs to block access to certain websites, making it clear for instance when a website has been blocked after a court order.
This essentially adds a censorship mechanism to the underlying protocol that powers our open and free internet. But what I find slightly amusing about this is that it’s already happening and has been for some time. Before the introduction of the 451 HTTP Response Code, users would just experience it in a less transparent way (probably receiving a 404 error).
It’s interesting to consider the implications of this on a wider social scale, especially in relation to the behaviour of groups renowned for administering mass censorship, including governments who I will not name – oh ok China, North Korea etc. Will these bodies take advantage of the 451 HTTP Response Code for their benefit? At least the transparency of the Response Code means that users will know who to blame when they can’t access to a site.
It’s no coincidence that the new error’s number, 451, is a reference to the 1953 dystopian novel Fahrenheit 451 (named after the auto-ignition temperature of paper), addressing issues of censorship by being set in a world where books are outlawed. It seems as though even the IETF have a sense of humour when it comes to publicising the Response Code.
With a desire to look at all things on balance, there are potentially a few use cases where the 451 HTTP Response Code could be a useful tool. Take gambling for instance, where many countries have an outright ban on online betting, making it the website owner’s responsibility to block access for particular countries. Perhaps the 451 HTTP Response code can be used in this capacity, potentially blocking specific areas rather than the whole site i.e. allow sportsbook but not casino.The same applies to sites with adult content and alcohol where the user fails an age check.
With this in mind, I’m sure there are further use cases, and knowing that the code is here to stay, I guess it’s important to extrapolate as much value as possible. It’s happening anyway so at least it’s more transparent.
Ok now we’ve got the blog out of the way, here’s the product pitch that I promised you!
edgeNEXUS advanced Load Balancers feature a pretty cool rule engine that allows users to create bespoke traffic policies to deal with real world business problems. The edgeNEXUS team use this in-house to solve these type of issues.
- Prevent users from being served bad error codes (404’s etc) and the site being penalised from poor search engine results.
- Redirect pages for certain URLs based on location, browser, IP or cookie.
- Change any of the HTTP headers or even the content – why not use the new 451 HTTP Response Code to “censor” certain pages for certain countries?
- Automatically insert code snippets to pages on-the-fly, including Google Analytics page tracking code.