ERROR 451: 本網頁基於國家法律而封鎖

clarkzjw
4 min readJul 29, 2018

--

关于HTTP状态码,你可能最熟悉的就是404 Not Found了。当服务器返回404时,意味着你请求的资源无法找到。本文介绍的451状态码,从某种程度上来说可以视为404的变种,但具有比较特殊的含义。

如果你在中国大陆境内,当你访问programthink/zhao时,可能会面临两种情况。第一,你可能根本无法打开网页。这意味着你和GitHub之间的连接又被防火长城干扰了。第二,如果你很幸运地打开了网站,你也只能看到如下页面。

根据该页面的描述,由于中国政府有关部门的要求,GitHub对于中国大陆境内的访问者封锁了该页面。如果你查看一下GitHub返回的状态码,你就会发现服务器返回的状态码是451.

令人值得回味的是,在处理这件事情上,某国政府通过了GitHub的官方渠道使得相关文档“下架”,而不是像2015年年初时采取的“大炮”攻击一般。

设置HTTP Error 451的提议最早在2013年被正式提出,并在2015年正式通过了IESG的审核,并在2016年2月作为RFC 7725发表。在这之前,reddit上就有相关用户对451进行讨论,如451: Proposed Web censorship HTTP status code。比较意外的是,微软之前已经应用了Error 451,只不过其应用场景是客户端访问了错误的服务器,详见(MS-ASHTTP]: HTTP Error 451)。

很显然,IESG最终在RFC 7725中将451定义为An HTTP Status Code to Report Legal Obstacles是有向Fahrenheit 451致敬的意味吧。

其实世界上各地的网民都有对自由和开放网络的追求。各国网民对于政府侵犯言论自由的法案都有着强烈的抗议声浪。如美国的SOPA法案被提出后,反对者认为该法案侵犯了《美国宪法第一修正案》,是一种网络审查行为。同时该法案还会导致互联网发展的倒退。反对者还担忧,该法案会鼓励互联网上的告密行为,同时影响言论自由[1]。又如中华民国经济部智慧财产局研拟封锁境外侵权网站事件,由于网民的抗议声浪过高,原本预计于2013年第二立法院院会期间审查,后来停止推动修法[2]。在这次事件期间,Mozilla社群制作了一个Blackout 451 页面,用来警醒网民警惕政府的作为,以维护秘密通讯与言论自由。

我将该页面做了一定的修改,效果如https://clarkzjw.github.io/Error451-Blackout/所示。

具体使用只要将

<script src=”//rawgit.com/clarkzjw/Error451-Blackout/master/blackout.js”></script>

加到网站 </body> 前方第一行,使用者进站时即会看到 Blackout 451 画面。

代码在GitHub的gh-pages分支。

--

--