本页使用了标题或全文手工转换

HTTP 451

维基百科,自由的百科全书
跳转至: 导航搜索

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

该狀態碼定义于 RFC 7725 中,與HTTP協定其他的狀態碼定义于 RFC 7231 不同。

定义[编辑]

根据定义,HTTP 451錯誤代碼狀態出現,不代表这个地址是否存在,而代表該網頁可能對於國家安全產生危險,或是該網頁可能違反著作權隱私權褻瀆神明或其他法律法院命令。

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

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

引入[编辑]

本代碼於2013年由提姆·布雷(Tim Bray)正式提出,主要基於部落格Terence Eden的文章所提出的非正式提案[2]。2015年12月18日,此代碼由國際網路工程研究團隊英语Internet Engineering Steering Group通過[3]

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

演示示例[编辑]

在本章节中,将对于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”:

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.internet-administration.gov.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在专门公布各国政府发出的移除要求的版面上,公布了这封信件[6]

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

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

参见[编辑]

注释[编辑]

  1. ^ 原文:Repository unavailable because of the Chinese Internet Blacklist

參考文獻[编辑]

外部連結[编辑]