オン https://panopticlick.eff.org/ EFFでは、ブラウザがWebサイトに提供する一意に識別するビットの数をテストできます。これらの中には、User-Agent、Accept、Accept-LanguageなどのHTTPヘッダーフィールドがあり、後でETAGやIf-Modified-Sinceになる場合もあります。また、タイムゾーン、画面解像度、フォントの完全なリスト、利用可能なプラグインなど、javascriptがブラウザから取得できる情報がたくさんあります。
私の第一印象は、すべてのウェブサイトの大部分でこれらの情報がすべて実際に使用/要求されていますか?たとえば、http acceptヘッダーに応じて実際に異なるコンテンツタイプを送信するサイトの数や、利用可能なフォント(cssがこれを処理していたと思います)。
たとえば、これらのheaders/js機能がなくなったとしましょう。
次のうちどれですか。
何ができるか、何をすべきか、ほとんどの状況で何をすべきかを区別するための追加のクレジット。
どの情報が失われるのかという質問には本当に答えることはできませんが、分析の観点からは、ユーザーがアクセスしているブラウザーとOSを気にする傾向があります(使用するHTML機能を決定するため) )。
哲学的に、私はあなたに状況についての私の見解を与えることができます-
CAN実行できることは、次の2つのカテゴリに分類されます。
* 悪意のある Panopticlickが示すように、ブラウザの署名に基づいてある程度の確実性でユーザーを識別することができます。
* 良心的ブラウザから提供された(「漏出した」)情報に基づいて、サイトのエクスペリエンスを調整できます。
すべきどうすればいいですか?おそらく上記の無害なもので、ユーザーが利用できる技術に基づいてカスタマイズされたサイトエクスペリエンスを提供します。
IS done?通常、サイトデザイナーは、単一のサイトエクスペリエンスをそこに放り出すだけです。これには、いくつかのプラグインのセットが必要です。それらのプラグインがない場合は、適切なプラグインをインストールするために「壊れた/欠落しているプラグイン」ボックスやブラウザ/ OSからのプロンプトが表示されます。ひどいユーザーエクスペリエンスですが、デザイナーにとっては簡単です:)
使用可能とはどういう意味ですか?正当な用途があるもの、またはユーザーの追跡や情報の取得に関心のある人が使用できるものを意味しますか?後者の場合、これらのデータポイントをすべてまとめることで、ブラウザごとに一意の「指紋」を作成できると考えています。
どの機能に正当な用途があるのかを尋ねるなら、私はそれらのほとんどすべてを言うでしょう。 HTTPの受け入れ/優先コンテンツタイプヘッダーは、CSSの代わりに使用できないさまざまなアプリケーションに役立ちます。つまり、コンテンツネゴシエーションの標準的な方法を提供します。 (異なるユーザーエージェントは、異なるコンテンツタイプまたは言語を優先/サポートします。)
ブラウザプラグインの可用性、画面解像度、ローカルデータストレージなどには、明らかな用途があります。これらの機能がなければ、使用するWebアプリの多くは機能しなかったり、役に立たなかったりします。
使用可能なフォントはFlashを介して取得されます。これは、一般的なWebアプリでの使用が非常に限られている唯一の機能です。ただし、それにも用途があります。たとえば、非常に便利なフォント関連のフラッシュアプリの開発を可能にしました(たとえば、フォント識別/提案ツール)。