451：对不起，从法律上说，它不存在
上周五，IESG（互联网工程指导委员会（Internet Engineering Steering Group））批准了一个新的互联网标准，为 HTTP 增加了一个新状态码：451Unavailable For Legal Reasons。还需要一点点工作就会发布为正式的 RFC ，不过现在已经可以用了。  缘起 几年前，英国政府要求 ISP 们对海盗湾的内容进行封挡，Terence Eden就这个事情写了一个帖子，建议应该有一个不同的状态码来区分禁止访问的原因。这样的话，ISP 们就可以向他们的用户说明为什么这些资源不能访问。有人提议使用数字 451 作为状态码，也有各种其它的建议。 谷歌的Tim Bray受此
HTTP 451
121.22.29.121
以后从中国大陆访问Google是不是就显示451了？
ryt [Chrome 47.0|GNU/Linux]
2015-12-23T09:11:33.000
111.198.66.137
木用，你無法區分到底是由於技術原因還是法律原因導致的～
来自北京的 Epiphany 3.14|Debian 用户
2015-12-23T09:12:53.000
60.12.5.163
大陆访问不了 google，只会给你一个“连接超时”的错误。
来自浙江宁波的 Firefox 43.0|Windows 7 用户
2015-12-23T09:25:25.000
60.12.5.163
话说能给个网站让我们见识下 451 的效果不？
来自浙江宁波的 Firefox 43.0|Windows 7 用户
2015-12-23T09:26:58.000
119.254.210.129
对不起，从法律上说，它不存在
linux [Chrome 47.0|Mac 10.11]
2015-12-23T09:38:37.000
119.254.210.129
不规范 :D
linux [Chrome 47.0|Mac 10.11]
2015-12-23T09:38:51.000
112.117.198.189
404也会有
来自云南昆明的 Internet Explorer 11.0|Windows 10 用户
2015-12-23T15:17:57.000
115.195.83.221
好机智的回答
巴斯光年 [Firefox 43.0|Windows 7]
2015-12-23T22:54:02.000
124.250.3.18
451<br />
对不起，该回复从法律上说，它不存在。
z75315 [Chrome 46.0|Windows 8.1]
2015-12-24T17:02:19.000
124.127.161.254
451<br />
对不起，该回复从法律上说，它不存在。
来自北京的 Firefox 43.0|Windows 7 用户
2015-12-25T09:29:21.000
171.216.72.194
不是超时，是404
来自四川成都的 Chrome 47.0|GNU/Linux 用户
2015-12-27T20:10:56.000
221.3.133.227
是 502 bad gateway
鸿蒙希荑-Lee [Chrome 49.0|Windows 10]
2015-12-27T22:45:39.000
202.45.129.184
连接超时太可恶了， 这要网页里有这种连接， 就会一直等。 还不如直接不能访问来的痛快。
johnsonshu [Chrome 48.0|Windows 7]
2016-02-12T12:22:55.000
上周五，IESG（互联网工程指导委员会（Internet Engineering Steering Group））批准了一个新的互联网标准，为 HTTP 增加了一个新状态码：451Unavailable For Legal Reasons。还需要一点点工作就会发布为正式的 RFC ，不过现在已经可以用了。  缘起 几年前，英国政府要求 ISP 们对海盗湾的内容进行封挡，Terence Eden就这个事情写了一个帖子，建议应该有一个不同的状态码来区分禁止访问的原因。这样的话，ISP 们就可以向他们的用户说明为什么这些资源不能访问。有人提议使用数字 451 作为状态码，也有各种其它的建议。 谷歌的Tim Bray受此
上周五，IESG（<ruby> <a href="https://www.ietf.org/iesg/">  互联网工程指导委员会 </a> <rp>  （ </rp> <rt>  Internet Engineering Steering Group </rt> <rp>  ） </rp></ruby>）批准了一个新的互联网标准，为 HTTP 增加了一个新状态码：**[451 Unavailable For Legal Reasons](https://datatracker.ietf.org/doc/draft-ietf-httpbis-legally-restricted-status/)**。还需要一点点工作就会发布为正式的 RFC ，不过现在已经可以用了。


![](/data/attachment/album/201512/22/221756pgydk85ymz673363.jpg)


### 缘起


几年前，英国政府要求 ISP 们对海盗湾的内容进行封挡，[Terence Eden](http://shkspr.mobi/blog/2012/06/there-is-no-http-code-for-censorship-but-perhaps-there-should-be/) 就这个事情写了一个[帖子](http://shkspr.mobi/blog/2012/06/there-is-no-http-code-for-censorship-but-perhaps-there-should-be/)，建议应该有一个不同的状态码来区分禁止访问的原因。这样的话，ISP 们就可以向他们的用户说明为什么这些资源不能访问。有人[提议](http://yro.slashdot.org/comments.pl?sid=2906113&cid=40270621)使用数字 451 作为状态码，也有各种其它的建议。


谷歌的 [Tim Bray](https://www.tbray.org/ongoing/) 受此启发，于[前几年](https://www.tbray.org/ongoing/When/201x/2012/06/20/Latin-Scholar-451)给 <ruby> HTTP 工作组 <rt>  HTTP Working Group </rt></ruby>提交了一份提案，他（及很多人）认为应该将由于技术原因的不可见与非技术原因的不可见区分开来：


* 403 状态码，用于描述由于技术原因禁止访问
* 451 状态码，则用于描述由于国家法律所要求而禁止访问


据说，451 这个数字来源于 [Ray Bradbury](https://en.wikipedia.org/wiki/Fahrenheit_451) 的一篇小说《<ruby> <a href="https://en.wikipedia.org/wiki/Fahrenheit_451">  华氏 451 </a> <rp>  （ </rp> <rt>  Fahrenheit 451 </rt> <rp>  ） </rp></ruby>》。


![](/data/attachment/album/201512/22/210244lnizo3g8ws00o8od.png)


### 发展


最初，对于这份提案，IETF HTTP 工作组的主席 Mark Nottingham 是拒绝的。因为 HTTP 状态码是有限的，虽然说从 400 到 499 有足足一百个位置，但是谁也不知道将来会有什么需求。而当时也没有任何需要让程序/机器来区分禁止访问的这两种情形，所以不应该浪费代码——最多，在 HTTP 首部或页面上呈现具体原因就可以了。


而 Tim 依旧坚持他的提案，并偶尔更新一下提案内容，和关心这件事的人谈论。


有一些站点开始实验性的使用这个状态码，不过这并不足以让 IESG 同意增加新的状态码。但是，随着网络上的审查的越来越多，比如欧盟政府要求 ISP 禁止对盗版内容的访问，而韩国、俄罗斯和其它一些国家会限制某些内容的访问等等，IESG 意识到网站需要能够区分这其中的不同。


此外，还有一些人希望能够自动找到和分类哪些内容是被审查的。这就需要一种机器可读的机制来区分 403 和 451 所代表的不同意义。 


### 451 能做什么和不能做什么


虽然 451 状态码的原意是用于标示出哪些内容是被法律禁止访问的，比如可以用在网络设备上（比如防火墙）或 Web 服务器上。就目前已知的， [Github](https://en.wikipedia.org/wiki/Censorship_of_GitHub)、 [Twitter](https://en.wikipedia.org/wiki/Censorship_of_Twitter)、 [Facebook](https://en.wikipedia.org/wiki/Censorship_of_Facebook) 和 [Google](https://en.wikipedia.org/wiki/Censorship_by_Google) 都已经开始使用这个状态码来应对各个国家地区的审查要求了。


但是显然，451 状态码并不能标示出所有的被审查的内容，也许有些国家（比如[英国](https://en.wikipedia.org/wiki/Internet_Watch_Foundation)）的法律要求不允许使用这个状态码。


 


*本文内容编译自 [Mark Nottingham 的博客](https://www.mnot.net/blog/2015/12/18/451)、维基百科、Solidot 等来源。*


 

