咨询热线:4006-75-4006

售前:9:00-23:30    备案:9:00-18:00    技术:7*24h

新的互联网错误代码:451

2015-12-30 17:08:38 9149次

1.上周五,IESG(互联网工程指导委员会Internet Engineering Steering Group)批准了一个新的互联网标准,为 HTTP 增加了一个新状态码:451 Unavailable For Legal Reasons。还需要一点点工作就会发布为正式的 RFC ,不过现在已经可以用了。

2.起源

    几年前,英国政府要求 ISP 们对海盗湾的内容进行封挡,Terence Eden 就这个事情写了一个帖子,建议应该有一个不同的状态码来区分禁止访问的原因。这样的话,ISP 们就可以向他们的用户说明为什么这些资源不能访问。有人提议使用数字 451 作为状态码,也有各种其它的建议。

    谷歌的 Tim Bray 受此启发,于前几年给 HTTP 工作组HTTP Working Group提交了一份提案,他(及很多人)认为应该将由于技术原因的不可见与非技术原因的不可见区分开来:

    403 状态码,用于描述由于技术原因禁止访问

    451 状态码,则用于描述由于国家法律所要求而禁止访问


3.发展

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

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

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

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

4.451能做什么和不能做什么

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

但是显然,451 状态码并不能标示出所有的被审查的内容,也许有些国家(比如英国)的法律要求不允许使用这个状态码。


首页
最新活动
个人中心