安全なコンテンツを要求するPrefer:safeヘッダ

Webサービスによっては、子供に見せたくない有害なコンテンツを非表示にできるサービスもあります。

それの多くはcookieを使い、設定を保存するケースが多く個別に設定を有効にしていく必要があります。また、広告といった設定がし辛い部分もあります。

こういった要求をブラウザの設定でできるように、「The "safe" HTTP Preference」という提案がMark Nottingham氏から出されています。

この提案仕様は、「rfc7240 Prefer Header for HTTP」で定義されている、preferヘッダPreference-Appliedヘッダを使用します。

Prefer: safe

この仕様では、以下のように「Prefer: safe」をヘッダに指定することで安全なコンテンツを要求していることを示します。

   GET /foo.html HTTP/1.1
   Host: www.example.org
   User-Agent: ExampleBrowser/1.0
   Prefer: safe

もちろん、サーバが対応しているか、その要求を尊重するかは実装次第です。サーバはPreference-Appliedヘッダを使うことで、その要求を適応したことを示せます。

   HTTP/1.1 200 OK
   Transfer-Encoding: chunked
   Content-Type: text/html
   Preference-Applied: safe
   Server: ExampleServer/2.0
   Vary: Prefer

標準化

もちろん、安全なコンテンツを明確に仕様化することは難しいです。この提案仕様でもその曖昧性のためIESGからの承認が得られず標準とはなっていないと述べられています。

しかし、すでに実装があり有用性の観点からドキュメントとして提出されています。