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

clarkzjw
clarkzjw
Jul 29, 2018 · 4 min read

关于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分支。

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store