Apache2.4.4でIE10のDNT無効化がコメントアウトされた

Apache2.4.4リリース

本日、Apache2.4.4がリリースされました。主要な変更項目については下記をご参照ください。

http://www.apache.jp/news/apache-http-server-2.4.4-released

バグフィックスやセキュリティ対策がメインですが、その中でも注目に値するのが、

httpd.conf: IE 10 からのリクエストの場合は bad_DNT 環境変数を設定して、DNT ヘッダを無視してしまう設定をデフォルトでは有効化しないように戻しました。関連する項目は ‘#’ でコメントアウトして残してあります。 (rev.1389261)

という部分です。

IE10のDNTへのApache2.4の対応

Apache2.4.3のhttpd.confには、デフォルトで最下部に以下の記述がありました。

  <IfModule setenvif_module>
  BrowserMatch "MSIE 10.0;" bad_DNT
  </IfModule>
  <IfModule headers_module>
  RequestHeader unset DNT env=bad_DNT
  <IfModule>

この設定は、IE10になってから標準で有効になったDNT(Do Not Track:プライバシー保護ヘッダー)をbad_DNTとして無効化する設定で、これにより、IE10のリクエストヘッダーにDNTが設定されていてもApache側は無視することになります。これにより、WEB広告などでユーザー行動のトラッキングが可能となります(DNTを無視して強引にトラッキングしている広告もありますが)。

この設定は、AdobeのRoy Fielding氏というDNTの考案者がコミットしたようです(IE10のDNT(トラックすんなよヘッダー)、Apacheで無視されることになり議論勃発)。しかし、この設定が必要かどうかを巡っては、Apacheコミュニティでも様々な議論が沸き起こり、結果としてApache2.4.4からはコメントアウトされてしまいました。

IE10のDNTが有効化されることによる影響

少なくともApacheレベルでは、IE10が標準で有効になっているDNTヘッダーを受け付けることになります(コメントアウトを解除すれば受け付けませんが)。これはユーザーにとっては、勝手にサイト上で自分の行動をトラッキングされることを防止するプライバシー向上の側面もあります(Cookieなどを遮断することはなく、あくまでリクエストヘッダーにおける宣言なのですが)。

ただ、本来DNTの仕様では、DNTはデフォルト有効ではなく、ユーザーの意志に基づいて選択させることが義務付けられています。IE10はこの仕様を無視するもので、気付かずにDNTを有効にしたまま使うユーザーが多数出現することが予想されることから、オンライン広告業界から反発の声が上がっています。

Apacheはそのような議論の中で、標準状態ではIE10のDNTを無視しないという決断をしました。この決断をオンライン広告業界がどう受け止めて対応していくか、かなりの混乱が予想されます。

Apache2.4.4のRPM

Apache2.4.4のRPMを、私の自作YUMレポジトリに入れました。

http://www.testvps.info/centos6/rpm/