HTTP 451
In computer networking, HTTP 451 Unavailable For Legal Reasons is a proposed standard error status code of the HTTP protocol to be displayed when the user requests a resource which cannot be served for legal reasons, such as a web page censored by a government. The number 451 is a reference to Ray Bradbury's 1953 dystopian novel Fahrenheit 451, in which books are outlawed.[2] 451 provides more information than HTTP 403, which is often used for the same purpose.[3] This status code is currently a proposed standard in RFC 7725 but is not yet formally a part of HTTP, as of RFC 9110.
HTTP |
---|
Request methods |
Header fields |
Response status codes |
Security access control methods |
Security vulnerabilities |
Examples of situations where an HTTP 451 error code could be displayed include web pages deemed a danger to national security, or web pages deemed to violate copyright, privacy, blasphemy laws, or any other law or court order.
After introduction of the GDPR in the EEA it became common practice for websites located outside the EEA to serve HTTP 451 errors to EEA visitors instead of trying to comply with this new privacy law. For instance, many regional U.S. news sites no longer serve web browsers from the EU.[4][5][6]
The RFC is specific that a 451 response does not indicate whether the resource exists but requests for it have been blocked, if the resource has been removed for legal reasons and no longer exists, or even if the resource has never existed, but any discussion of its topic has been legally forbidden (see injunction).[7] Some sites have previously returned HTTP 404 (missing) or similar if they are not legally permitted to disclose that the resource has been removed. It is used in the United Kingdom by some Internet service providers utilising the Internet Watch Foundation blacklist, returning a 404 message or another error message instead of showing a message indicating the site is blocked.[8][9]
The status code was formally proposed in 2013 by Tim Bray, following earlier informal proposals by Chris Applegate[10] in 2008 and Terence Eden[11] in 2012. It was approved by the IETF on December 18, 2015.[12] It was published as in the Proposed Standard RFC 7725 in February 2016.
HTTP 451 was mentioned by the BBC's From Our Own Correspondent programme, as an indication of the effects of sanctions on Sudan and the inability to access Airbnb, the App Store, or other Western web services.[13]
Usage
When an entity intercepts the request and returns status 451, it should include a "Link" HTTP header field whose value is a URI reference identifying itself. The "Link" header field must then have a "rel" parameter whose value is "blocked-by". This is intended to identify the entity implementing the blocking (an ISP, DNS provider, caching system, etc.), not the legal authority mandating the block.[14] At an IETF hackathon, participants used a web crawler to discover that several implementations misunderstood this header and gave the legal authority instead.[15]
Additional uses
The meaning of "a resource which cannot be served for legal reasons" has been interpreted to extend beyond government censorship:
- When content cannot be shown in the user's country, due to contractual or licensing restrictions with the content owner, for example, a TV program may not be available to users in some countries.
- When a publisher refuses to serve content to a user, because the user's country adds regulatory requirements that the publisher refuses to comply with, e.g. websites based outside of the EU may refuse to serve users in the EU because they do not want to comply with the GDPR.
Example
HTTP/1.1 451 Unavailable For Legal Reasons
Link: <https://search.example.net/legal>; rel="blocked-by"
Content-Type: text/html
<html>
<head><title>Unavailable For Legal Reasons</title></head>
<body>
<h1>Unavailable For Legal Reasons</h1>
<p>This request may not be serviced in the Roman Province
of Judea due to the Lex Julia Majestatis, which disallows
access to resources hosted on servers deemed to be
operated by the People's Front of Judea.</p>
</body>
</html>
References
- "Attorney General Shapiro, Governor Wolf, State Police Successfully Block Access to 3D Downloadable Guns in Pennsylvania" (Press release). Pennsylvania Office of Attorney General. 29 July 2018.
- Flood, Alison (22 June 2012). "Call for Ray Bradbury to be honoured with internet error message". The Guardian. Retrieved 22 June 2012.
- Ducklin, Paul (19 August 2013). "HTTP error code 451: "Unavailable For Legal Reasons"". Naked Security. Sophos.
- Matt Burgess (29 August 2018). "The tyranny of GDPR popups and the websites failing to adapt". WIRED. Retrieved 1 October 2018.
- "More than 1,000 U.S. News sites are still unavailable in Europe, two months after GDPR took effect". www.niemanlab.org.
- "Major US news sites are still blocking Europeans due to GDPR". Engadget. Retrieved 27 July 2023.
- Bray, Tim (February 2016). "451 Unavailable For Legal Reasons". An HTTP Status Code to Report Legal Obstacles. sec. 3. doi:10.17487/RFC7725. RFC 7725.
- "Cleanfeed". ORG Wiki. Open Rights Group.
If the request is for the blocked content then the proxy server will return a 404 error page to the customer
- Arthur, Charles (8 December 2008). "How the IWF blacklist stops you seeing the Scorpions' album cover". Technology blog, The Guardian.
TCP Reset is sent back to the customer instead of content.
- Applegate, Chris (9 December 2008). "There is no HTTP code for censorship". qwghlm.co.uk. Retrieved 23 December 2015.
- Byrne, Michael (21 December 2015). "The HTTP 451 Error Code for Censorship Is Now an Internet Standard". Vice. Retrieved 3 July 2020.
- Nottingham, Mark (18 December 2015). "Why 451?". mnot’s blog. Retrieved 20 December 2015.
- Sally Hayden (28 September 2017). From Our Own Correspondent (radio). BBC Radio 4.
- Bray, Tim (February 2016). "Identifying Blocking Entities". An HTTP Status Code to Report Legal Obstacles. sec. 4. doi:10.17487/RFC7725. RFC 7725.
- Stéphane Bortzmeyer (11 November 2017). "RFC Errata Report". IETF Tools. Retrieved 3 December 2018.
External links
Media related to HTTP 451 at Wikimedia Commons
- RFC 7725 – An HTTP Status Code to Report Legal Obstacles