---
author: wxy
category: 观点
comments_data:
- date: '2015-12-23 09:11:33'
  message: 以后从中国大陆访问Google是不是就显示451了？
  postip: 121.22.29.121
  username: ryt [Chrome 47.0|GNU/Linux]
- date: '2015-12-23 09:12:53'
  message: 木用，你無法區分到底是由於技術原因還是法律原因導致的～
  postip: 111.198.66.137
  username: 来自北京的 Epiphany 3.14|Debian 用户
- date: '2015-12-23 09:25:25'
  message: 大陆访问不了 google，只会给你一个“连接超时”的错误。
  postip: 60.12.5.163
  username: 来自浙江宁波的 Firefox 43.0|Windows 7 用户
- date: '2015-12-23 09:26:58'
  message: 话说能给个网站让我们见识下 451 的效果不？
  postip: 60.12.5.163
  username: 来自浙江宁波的 Firefox 43.0|Windows 7 用户
- date: '2015-12-23 09:38:37'
  message: 对不起，从法律上说，它不存在
  postip: 119.254.210.129
  username: linux [Chrome 47.0|Mac 10.11]
- date: '2015-12-23 09:38:51'
  message: 不规范 :D
  postip: 119.254.210.129
  username: linux [Chrome 47.0|Mac 10.11]
- date: '2015-12-23 15:17:57'
  message: 404也会有
  postip: 112.117.198.189
  username: 来自云南昆明的 Internet Explorer 11.0|Windows 10 用户
- date: '2015-12-23 22:54:02'
  message: 好机智的回答
  postip: 115.195.83.221
  username: 巴斯光年 [Firefox 43.0|Windows 7]
- date: '2015-12-24 17:02:19'
  message: "451<br />\r\n对不起，该回复从法律上说，它不存在。"
  postip: 124.250.3.18
  username: z75315 [Chrome 46.0|Windows 8.1]
- date: '2015-12-25 09:29:21'
  message: "451<br />\r\n对不起，该回复从法律上说，它不存在。"
  postip: 124.127.161.254
  username: 来自北京的 Firefox 43.0|Windows 7 用户
- date: '2015-12-27 20:10:56'
  message: 不是超时，是404
  postip: 171.216.72.194
  username: 来自四川成都的 Chrome 47.0|GNU/Linux 用户
- date: '2015-12-27 22:45:39'
  message: 是 502 bad gateway
  postip: 221.3.133.227
  username: 鸿蒙希荑-Lee [Chrome 49.0|Windows 10]
- date: '2016-02-12 12:22:55'
  message: 连接超时太可恶了， 这要网页里有这种连接， 就会一直等。 还不如直接不能访问来的痛快。
  postip: 202.45.129.184
  username: johnsonshu [Chrome 48.0|Windows 7]
count:
  commentnum: 13
  favtimes: 2
  likes: 0
  sharetimes: 0
  viewnum: 8101
date: '2015-12-23 08:45:00'
editorchoice: false
excerpt: 上周五，IESG（互联网工程指导委员会（Internet Engineering Steering Group））批准了一个新的互联网标准，为 HTTP
  增加了一个新状态码：451Unavailable For Legal Reasons。还需要一点点工作就会发布为正式的 RFC ，不过现在已经可以用了。  缘起
  几年前，英国政府要求 ISP 们对海盗湾的内容进行封挡，Terence Eden就这个事情写了一个帖子，建议应该有一个不同的状态码来区分禁止访问的原因。这样的话，ISP
  们就可以向他们的用户说明为什么这些资源不能访问。有人提议使用数字 451 作为状态码，也有各种其它的建议。 谷歌的Tim Bray受此
fromurl: ''
id: 6775
islctt: false
largepic: /images/p/201512/22/221756pgydk85ymz673363.jpg
permalink: /article-6775-1.html
pic: /images/p/201512/22/221756pgydk85ymz673363.jpg.thumb.jpg
related: []
reviewer: ''
selector: ''
summary: 上周五，IESG（互联网工程指导委员会（Internet Engineering Steering Group））批准了一个新的互联网标准，为 HTTP
  增加了一个新状态码：451Unavailable For Legal Reasons。还需要一点点工作就会发布为正式的 RFC ，不过现在已经可以用了。  缘起
  几年前，英国政府要求 ISP 们对海盗湾的内容进行封挡，Terence Eden就这个事情写了一个帖子，建议应该有一个不同的状态码来区分禁止访问的原因。这样的话，ISP
  们就可以向他们的用户说明为什么这些资源不能访问。有人提议使用数字 451 作为状态码，也有各种其它的建议。 谷歌的Tim Bray受此
tags:
- HTTP
- '451'
thumb: false
title: 451：对不起，从法律上说，它不存在
titlepic: false
translator: ''
updated: '2015-12-23 08:45:00'
---

上周五，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 ，不过现在已经可以用了。


![](/images/p/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>》。


![](/images/p/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 等来源。*