The HTTP 451 Error Code for Censorship Is Now an Internet Standard
Two years later.
The 451 HTTP status code is now official in the eyes of the Internet Engineering Task Force (IETF), the independent organization responsible for many of the internet's operating standards. Now, when an internet user hits a web page that has been blocked for legal reasons (read: censorship), they may be presented with a 451 error instead of the more generic 403 "forbidden" error. This is a win for transparency.
The 451 code has been on the table for two years now, having been first been put forth by software engineer Tim Bray in 2013, who was in turn inspired by a blog post by security thinker Terence Eden. Eden's call for a censorship error code is clear enough:
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.
So, Eden proposed a code and Bray ran with it, using "451" in reference to Ray Bradbury's censorship dystopia Farhenheit 451. Web standards are, however, not changed overnight.
In a post published on Friday, Mark Nottingham, chair of the IETF HTTP Working Group, explains a bit more. "Initially, I and some others pushed back," he writes. "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."
Sites began to use the code anyway on an experimental and unsanctioned basis, and Nottingham and co. received more and more feedback from administrators in favor of the code. Crucially, advocacy orgs Lumen and Article19 expressed interest in having a machine-readable flag that could be used to spider the web in the hunt of censored websites. That's just what a new HTTP status code could offer.
Finally, the support was there. Some technical details still need attending to, but the code is ready to use immediately. What can it actually do?
"By its nature, you can't guarantee that all attempts to censor content will be conveniently labeled by the censor," Nottingham explains. "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."
There's still nothing stopping a government from forbidding the code's usage, however, which is a serious but perhaps unavoidable limitation.