Error Code 451: an HTTP error for censorship

XML creator Tim Bray has proposed a new HTTP error code: 451, "Legally restricted." The idea is to create an unambiguous code that ISPs can return when a user requests a page that has been censored by a court or government. Note the specific number of the error code. Bray thanks Ray Bradbury in the footnotes.

451 Unavailable For Legal Reasons

This status code indicates that the server is subject to legal restrictions which prevent it servicing the request.

Since such restrictions typically apply to all operators in a legal jurisdiction, the server in question may or may not be an origin server. The restrictions typically most directly affect the operations of ISPs and search engines.

Responses using this status code SHOULD include an explanation, in the response body, of the details of the legal restriction; which legal authority is imposing it, and what class of resources it applies to. For example:

Here's a sample error message:

This request may not be serviced in the Roman Province of Judea due to Lex3515, the Legem Ne Subversionem Act of AUC755, which disallows access to resources hosted on servers deemed to be operated by the Judean Liberation Front.

A New HTTP Status Code for Legally-restricted Resources (via O'Reilly Radar)

(Image: Fahrenheit 451, a Creative Commons Attribution (2.0) image from sidelong's photostream)


  1. First, trying to give credit to ONE person for the idea is a bit pointless, but I s’pose someone like TimBray  has a bit more web cred.
    Second, that’s all I got…

    1.  And censorship cannot take the form of distraction? How about this, maybe it’s  just a happy accident that the book also applies to censorship.

      1.  The G. W. Bush administration used distraction as a means of censorship almost as if it were a religious edict from on high. The ultra right wing of the GOP adopted this tactic so now – if you say anything outside the bounds of the Tea Party talking points you are forced from the stage.

    2. It doesn’t matter what the author’s intent was. Literary analysis can reveal legitimate meanings that never intended.

  2. I can’t think of a better memorial for the man.  I hope the idea made it to him before he died. I imagine he would have had a great laugh about it.

  3. Great! Now, somebody get Google to use it on Youtube (and elsewhere)…

    Actually, coming right after Bradbury passed away, does anyone else get the feeling that the community was sort of manipulated into this? I first saw it come up on Slashdot a few days ago (this one), where people were discussing the “right” code for censorship; proposals included 403, because it is forbidden, something in 5xx, because it’s not really a client error, and so on. But slowly, a consensus builds for 451, and now this!

    Well, whatever… I know what I’m doing, if I’m ever put in that position!

    1. IIRC, 403 is forbidden to ALL users, and a censored item may only be censored to certain users. 401 makes more sense there, although it’s explicitly not for this.

      I can see arguments for both 4xx and 5xx – 4xx because the server isn’t happy with something about the client (the geographic location of the client in this case), 5xx because the server is getting a valid request that it can’t serve.

      The big thing is, if it’s something that takes the server down for everyone, 5xx makes sense, but that would require the government in question to put a 5xx on their server that’s replacing it. 4xx makes sense for if it’s a regional block.

      So, have YouTube serve a 451 if you’re accessing a video unavailable in your country, but have the US government serve a 551 if you’re trying to access MegaUpload?

  4. The sample takedown notice is wonderful.  At least the blame for this hypothetical takedown can be attributed to servers hosted by the Judean Liberation Front, and not the Judean People’s Front or the People’s Front of Judea.

    1. The JLF has been known to kick puppies and de-wing butterflies.  Check everyone’s rectum and shoes at the airport, pronto!

  5. While I like the numeric reference to Bradbury’s work. If such a return code is institutionalised by owners of sites, proxies, DPI censor machines, etc – how is this validated? How can you discover which law? In which jurisdiction? How do you *really* validate (with ease) who is making the claim that the request is blocked for apparent ‘legal reasons’? What ‘appeal’ can made made? To who? How?

    I might be missing something, but this standard appears to be institutionalising a collective sigh – “oh well, I can’t access this … there are legal reasons”.

    1.  as it stands today if you attempt to access content ordered removed by the government you get a 404. no indication why the file wasnt found, no mention of the court order just “file not found”. this is a noticeable improvement.

      the proposed standard tells people WHY you can’t access the file, and optionally may include the court order that led to its removal (i would hope most ISPs would include that…or site owners if they were the ones contacted)

      i see this as kinda like google’s policy of telling people when they get court orders to remove something and linking to the order as well as posting it on

  6. The excellence of the literary reference manages to outweigh the wrongness of this being in the 4xx error group. I approve.

  7. I am surprised that no one has mentioned that this is spectacularly naive. Governments who sensor don’t want you to know that they are censoring so they are hardly going to return the correct error code from their firewalls are they?

    Still perhaps its a subtle way that ISP can register their protest at take down notices.

    1.  the US government is surprisingly up front about their censorship.
      also for the time being they have to issue warrants for the things they want removed, which a site owner or isp can include in the 451 (google already does this with a link in the search results for the takedown notice…which ironically includes the links to be removed)

      1.  Fair point but I wonder how long it will stay as such.

        On the other hand doesn’t making the standard handle this kind of behaviour take a stand that this is a legitimate thing to do?

  8. The Judean Liberation Front… not to be confused with the Liberation Front of Judea.

  9. Well, what is odd about this is that this particular error would typically not be issued by the infringing web server itself, since the ISP is disallowing access to that server alltogether. Therefore this error is issued sort of on behalf of that remote web server by some network infrastructure of the ISP.
    That sets it apart from the other HTTP errors. I’m not sure if that doesn’t violate the HTTP specification.

Comments are closed.