検閲による閲覧禁止かユーザーにわかる? 新しいHTTPエラーコードが誕生するかも

写真拡大 (全4枚)

昨年の暮れに出たニュースだが、新しいHTTPエラーコードとして検閲による閲覧禁止を示す「451」を加えようという動きがあるという。

◎エラーコードって?
最近は見かけることが少なくなった感のあるHTTPエラーコード。
そもそも何かというと、いわゆるWebサーバが返す"状態"のうち、エラーを示すもの。

Webは、HTTPプロトコルを使ってサーバとクライアント(ブラウザ)で通信する仕組みになっている。その際、サーバはHTTPステータスコードという3桁の文字でその状態をクライアントに通知する。
・1xxは、サーバの情報を表す
・2xxは、クライアントからのリクエストが正常に処理されたことを表す
・3xxは、リダイレクト(移転通知)を表す
・4xxは処理の失敗を通知する
・5xxは、サーバエラーを通知する

というように決まっているのだ。

このうち、4xx、5xxをエラーコードという。
通常のステータスコードがユーザーの側に表示されることがないのに対し、その性格上、エラーコードはユーザーに通知される。ネットを使っていて、見たことがあるという人もいるだろう。よく見かけるのは、
・アクセスが禁止されているページをクリックした際の「403」(Forbidden)
・URLが変更されたか何かで「そんなページないよ」と言われてしまう「404」(Not Fond)
・CGIなどサーバ内部の何らかのスクリプトがうまく動かない場合の「500」(Internal Server Error)

だ。


403エラーの表示例(ブラウザはChrome)


◎451が意味するもの
今回、追加が提案されたのは、「An HTTP Status Code to Report Legal Obstacles(法的な障害を通知するためのHTTPコード)」として「451」を使おうというもの。

何らかの理由で(たとえば、検閲など)リクエストに応じられないという場合、従来のエラーコードでは、
・検閲の結果によるページの削除であろうとページがなければ「404」
・ページがあっても閲覧できないのであれば「403」

が表示される。(「403」は、アクセス権限がないことを示す)
だけだ。つまり、ユーザー側では、ページが見られない(削除された)理由まではわからない。

451を使うことで、こうした曖昧な状態を明らかにできるのではないかということだ。
背景には、インターネットの世界への政府の介入があるという。
以前から、TwitterやFacebook、Googleなどが、国による検閲へどう対応しているかというニュースはよく取り上げられている。

たとえば、米Twitterでは、法の要請などによりツイートを削除した場合「Tweet withheld」と表示するとしている。今回の451コードの提案は、この「Tweet withheld」の措置をWebに拡大しようと言えるのかもしれない。
もちろん検閲に従う/従わないの是非を議論することは重要だ。しかし、検閲された場合、その事実をユーザーが知ることも同じように重要だ。



「Tweet withheld」の表示例(https://support.twitter.com/articles/20170928から)




提案されている451エラーの表示例
(https://datatracker.ietf.org/doc/draft-ietf-httpbis-legally-restricted-status/?include_text=1から)


実際、451コードの実装・運用が具体的にどうなるかはいまの段階ではまだ見えていない。
サーバの内部エラーやページの有無であれば機械的にコードを返すことができるが、その理由を明示するには人為的に何らかのタグなり、ラベルなりを付与する工程が必要だろう。

451コードの提案はいま標準化のプロセス(Standards Track)に入ったことが承認された段階で、このあと引き続き、議論されることになる。インターネットの仕様はRFCと呼ばれる文書で規定されているのだが、こうして標準化までさまざまなプロセスを経る。

Standards TrackのInternet-Draftは最大6ヶ月間有効で、その間、更新、置換、またはいつでも他の文書によって廃止することができるというもの。該当の「An HTTP Status Code to Report Legal Obstacles」は2016年5月13日に失効する。それまでに何らかのアップデートがされると思われる。

An HTTP Status Code to Report Legal Obstacles


大内孝子