HTTP 451

在電腦網路領域中，HTTP 451 因法律原因不可用（）是一種HTTP協定的錯誤狀態代碼，當使用者請求存取某個經政府審核等查核方法後認定不合法的來源時，就會顯示這個錯誤代碼。

该狀態碼定义于RFC 7725中，與HTTP协议其他的狀態碼不同。

定义 

根据定义，HTTP 451錯誤代碼狀態出現，不代表这个地址是否存在，而代表該網頁可能違反基於法律違規主張的要求。

该响应代码有如下的性质：

 除非另外指明，否则这个响应代码是可以被缓存的。
 必须携带一个带有一个Link头部，列出要求封禁该地址的实体URI；且应带有一个"rel"字段，值应为"blocked-by"。

引入 
本代碼於2013年由提姆·布雷（）正式提出，主要基於部落格的文章所提出的非正式提案。2015年12月18日，此代碼由通過。

451这个代码源於1953年的反烏托邦小說《華氏451度》（紙的燃點為華氏451度），在這部小說中，所有書籍是違禁品。相比较HTTP 403或404代碼，451可更好描述一种由于法律规定或受权威部门要求而导致的封禁狀態。

演示示例 
在本章节中，将对于HTTP 451的响应的返回、缓存的设置和Link头部的设置做出范例。

某地一用户以GET方式请求example.org的/index.php路径：
GET /index.php HTTP/1.1
Host: www.example.org

服务器响应 
由于用户所在地的某项法律规定，网站不可以向该地区用户返回这个页面，所以服务器做出回应，设置了有效期为一年的缓存头部，并在Link头部中加入了指定的法律文本URL“http://www.xxx.gov.tld/law.html”：
HTTP/1.1 451 Unavailable For Legal Reasons
Link: <http://www.xxx.gov.tld>; rel="blocked-by"
Cache-control: max-age=31536000; public
Content-Type: text/html; charset=utf-8

<html>
<head><title>因法律原因不可用</title></head>
<body>
<h1>HTTP/1.1 451 因法律原因，本页面不可用</h1>
<p>根据《某法》第某条之规定，本网站页面对来自某地的访客不可用。</p>
</body>
</html>

非服务器实体 
根据RFC文档第3节和第4节，作出回应的服务器不一定是源服务器，也可能是ISP或其他实体的服务器向用户返回HTTP 451。该文档第四节进一步说明，回应中的blocked-by对应之头部应链接至实际执行此次封锁的实体，而不是作出决定的实体。假设某网络主管部门要求这些运营商的防火墙服务器对所有访问某站点特定内容之请求均返回451，则防火墙服务器可以这样回应用户：
HTTP/1.1 451 Unavailable For Legal Reasons
Link: <https://www.isp-firewall.tld/about.html#filtered_by_451>; rel="blocked-by"
Cache-control: max-age=86400; public
Content-Type: text/html; charset=utf-8

<html>
<head><title>因法律原因不可用</title></head>
<body>
<h1>HTTP/1.1 451 因法律原因，本页面不可用</h1>
<p>应有关部门要求，根据相关法律、法规，网页未予显示。</p>
</body>
</html>

现实案例

Github 

2016年6月8日，中国网络空间安全协会用英文致信GitHub，称其平台上的开源项目“Zhao”诽谤现任中国共产党中央委员会总书记习近平，要求立刻删除。三天后，GitHub在专门公布各国政府发出的移除要求的版面上，公布了这封信件。

据信件所描述，GitHub用户Programthink创建的代码仓库“Zhao”中出现了一篇用户名为“CMB-news”的帐号发布的“問題”（Issue），声称习近平涉及一桩命案，故引发相关部门“强烈关切”。根据GitHub公布的信息显示，这是2014年10月以来，GitHub公布的第6项“删除特定项目要求”，也是第一个来自中国政府相关方请求，此前5项都来自俄罗斯。

后来，GitHub对于访问该仓库的中国大陆用户返回451代码，并链接向上述投诉信件；但在海外的用户仍能顺利打开。 GitHub给出的原因是“这个项目被中国政府列入黑名单”。GitHub称，虽无法认同政府审查，但为让更多人可以正常使用网站服务，他们会在确认有关要求来自政府之后，在指定区域内满足政府的要求，同时会公开来自政府的要求文件。

参见 
 HTTP
 HTTP狀態碼
 HTTP 403
 HTTP 404
 防火长城

注释

參考文獻

外部連結
 RFC 7725 - HTTP 451的正式RFC文件
 451unavailable.org 一个介绍HTTP 451错误代码的网站

HTTP
互联网审查
计算机错误
网络术语