HTTP 451
package.lua第80行Lua錯誤:module 'Module:CGroup/core' not found package.lua第80行Lua錯誤:module 'Module:Sidebar/configuration' not found HTTP 451是HTTP協議中的一個狀態碼。HTTP 451的描述短語是「Unavailable For Legal Reasons」,當使用者請求存取某個經政府審核等查核方法後認定不合法的來源時,就會顯示這個錯誤代碼。
該狀態碼定義於RFC 7725中,與HTTP協議其他的狀態碼不同。
定義[編輯]
根據定義,HTTP 451錯誤代碼狀態出現,不代表這個地址是否存在,而代表該網頁可能違反基於法律違規主張的要求。
該響應代碼有如下的性質:
引入[編輯]
本代碼於2013年由package.lua第80行Lua錯誤:module 'Module:Ilh/data' not found正式提出,主要基於部落格腳本錯誤:沒有「Lang」這個模塊。的文章所提出的非正式提案[2]。2015年12月18日,此代碼由package.lua第80行Lua錯誤:module 'Module:Ilh/data' not found通過[3]。
451這個代碼源於1953年的反烏托邦小說《華氏451度》(紙的燃點為華氏451度),在這部小說中,所有書籍是違禁品[4]。相比較HTTP 403或404代碼,451可更好描述一種由於法律規定或受權威部門要求而導致的封禁狀態[5]。
演示示例[編輯]
在本章節中,將對於HTTP 451的響應的返回、緩存的設置和Link頭部的設置做出範例。
某地一用戶以GET方式請求example.org的/index.php路徑:
GET /index.php HTTP/1.1
Host: www.example.org
伺服器響應[編輯]
由於用戶所在地的某項法律規定,網站不可以向該地區用戶返回這個頁面,所以伺服器做出回應,設置了有效期為一年的緩存頭部,並在Link頭部中加入了指定的法律文本URL「http://www.xxx.gov.tld/law.html」:
HTTP/1.1 451 Unavailable For Legal Reasons
Link: <http://www.xxx.gov.tld>; rel="blocked-by"
Cache-control: max-age=31536000; public
Content-Type: text/html; charset=utf-8
<html>
<head><title>因法律原因不可用</title></head>
<body>
<h1>HTTP/1.1 451 因法律原因,本页面不可用</h1>
<p>根据《某法》第某条之规定,本网站页面对来自某地的访客不可用。</p>
</body>
</html>
非伺服器實體[編輯]
根據RFC文檔第3節和第4節,作出回應的伺服器不一定是源伺服器,也可能是ISP或其他實體的伺服器向用戶返回HTTP 451。該文檔第四節進一步說明,回應中的blocked-by對應之頭部應連結至實際執行此次封鎖的實體,而不是作出決定的實體。假設某網絡主管部門要求這些運營商的防火牆伺服器對所有訪問某站點特定內容之請求均返回451,則防火牆伺服器可以這樣回應用戶:
HTTP/1.1 451 Unavailable For Legal Reasons
Link: <https://www.isp-firewall.tld/about.html#filtered_by_451>; rel="blocked-by"
Cache-control: max-age=86400; public
Content-Type: text/html; charset=utf-8
<html>
<head><title>因法律原因不可用</title></head>
<body>
<h1>HTTP/1.1 451 因法律原因,本页面不可用</h1>
<p>应有关部门要求,根据相关法律、法规,网页未予显示。</p>
</body>
</html>
現實案例[編輯]
Github[編輯]
腳本錯誤:沒有「Labelled list hatnote」這個模塊。
2016年6月8日,中國網絡空間安全協會用英文致信GitHub,稱其平台上的開源項目「Zhao」誹謗現任中國共產黨中央委員會總書記習近平,要求立刻刪除。三天後,GitHub在專門公佈各國政府發出的移除要求的版面上,公佈了這封信件[6][7]。
據信件所描述,GitHub用戶Programthink創建的代碼倉庫「Zhao」中出現了一篇用戶名為「CMB-news」的帳號發佈的「問題」(Issue),聲稱習近平涉及一樁命案[8],故引發相關部門「強烈關切」。根據GitHub公佈的信息顯示,這是2014年10月以來,GitHub公佈的第6項「刪除特定項目要求」,也是第一個來自中國政府相關方請求,此前5項都來自俄羅斯[9]Template:需要非第一手來源。
後來,GitHub對於訪問該倉庫的中國大陸用戶返回451代碼,並連結向上述投訴信件;但在海外的用戶仍能順利打開。 GitHub給出的原因是「這個項目被中國政府列入黑名單」[註 1]。GitHub稱,雖無法認同政府審查,但為讓更多人可以正常使用網站服務,他們會在確認有關要求來自政府之後,在指定區域內滿足政府的要求,同時會公開來自政府的要求文件[7]。
參見[編輯]
- package.lua第80行Lua錯誤:module 'Module:Ilh/data' not found
註釋[編輯]
- ↑ 原文:Repository unavailable because of the Chinese Internet Blacklist
參考文獻[編輯]
- ↑ package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
- ↑ package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
- ↑ package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
- ↑ package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
- ↑ package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
- ↑ package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
- ↑ 7.0 7.1 package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
- ↑ package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
- ↑ package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
外部連結[編輯]
- RFC 7725 - HTTP 451的正式RFC文件
- 451unavailable.org(頁面存檔備份,存於互聯網檔案館) 一個介紹HTTP 451錯誤代碼的網站