Error 451 – a new HTTP code denoting internet censorship -

Error 451 – a new HTTP code denoting internet censorship

Douglas Crawford

Douglas Crawford

December 23, 2015

In 1953 science fiction author Ray Bradbury published what is arguably his greatest work, the dystopian novel Fahrenheit 451. It is a book about censorship, in which the job of “firemen” is not to put out fires, but to burn books. The title refers the temperature at which Bradbury claimed paper will spontaneously ignite.

Fahrenheit 451

After much deliberation, the Internet Engineering Task Force (IETF), the standards organization that develops and promotes voluntary internet standards, has approved the use of the Error 451 HTTP status code to denote that a website has been legally blocked (i.e. censored.)

Internet “filtering” has become increasingly common everywhere, but most notably in Europe, and especially the UK, where attempts to block access to websites relating to copyright infringement have reached draconian levels.

ISPs are under no obligation to implement the new Error 451 standard, but many hope that adoption will provide greater clarity for internet users about why they cannot access a webpage.

Currently, ISPs often display their own error messages (some more descriptive than others,) or fall back on the highly inaccurate (and misleading) generic 403 Forbidden code (which is intended “to indicate that the server can be reached and understood the request, but refuses to take any further action.”)

451 Unavailable, a pressure group that campaigns for clearer labeling of internet censorship, hopes that Error 451 pages will be able to provide additional information on why a page has been blocked,

It’s still difficult to work out precisely why a website is blocked and to check if it’s been blocked by mistake. A really good Error 451 message would tell their customers how to challenge a block, how long the block’s expected to last, where the relevant legal documents are and which legal authority imposed the blocking order.”

Error 451 is the brainchild of security researcher Terrence Eden, who in 2012 bemoaned the lack of an HTTP code for censorship,

“My ISP have recently been ordered to censor The Pirate Bay. They have done so unwillingly and, it would seem, have complied only with the letter of the ruling. Their block is, for now, trivial to circumvent. I am concerned that this censorship will become more prevalent. As network neutrality dies, we will see more sites ordered to be blocked by governments who fear what they cannot understand.”

Software engineer Tim Bray picked up on the idea, and proposed Code 451 to the IEFT. Chairman of the IEFT, Mark Nottingham, explains that he was reticent at first,

Initially, I and some others pushed back. HTTP status codes are a constrained name space; once we use everything from 400 to 499, for example, we’re out of luck. Furthermore, while 451 met many of the guidelines for new status codes (such as being potentially applicable to any resource), there wasn’t any obvious way for machines to use it — i.e., this was something you could do in a header or the message body of a 403, so it didn’t seem to justify expending a status code.

The idea had legs, however, and many websites began to use the code unofficially anyway. Support from the likes of rights activist organisations such Article 19 and Lumen carried the day. Nottingham is keen, though, to make clear the Code’s limitations (the biggest problem being that there is nothing to stop governments simply banning use of the code,)

“By its nature, you can’t guarantee that all attempts to censor content will be conveniently labeled by the censor. Although 451 can be used both by network-based intermediaries (e.g., in a firewall) as well as on the origin Web server, I suspect it’s going to be used far more in the latter case, as Web sites like Github, Twitter, Facebook and Google are forced to censor content against their will in certain jurisdictions.