ほとんどのインターネット Cookie は信じられないほどシンプルですが、独自の生命を獲得したものの 1 つです。 Cookie はインターネットのプライバシーに関する懸念から 2000 年にメディアの大きな注目を集め始め、その議論は今でも激化しています。
一方、Cookie は、Web のナビゲーションをはるかに容易にする機能を提供します。ほとんどすべての主要なサイトのデザイナーがこれらを使用しています。これは、より優れたユーザー エクスペリエンスを提供し、サイトの訪問者に関する正確な情報の収集がはるかに簡単になるためです。
この記事では、Cookie の背後にある基本テクノロジーと、Cookie によって実現される機能のいくつかについて説明します。
クッキーの基本
2000 年 4 月、私は評判の高い大手新聞でインターネット プライバシーに関する詳細な記事を読みました。その記事には Cookie の定義が含まれていました。言い換えると、定義は次のようになります。
このような定義は報道ではかなり一般的です。問題は、その情報がどれも正しくないことです。 Cookie はプログラムではないため、プログラムのように実行することはできません。そのため、自分で情報を収集することができません。また、あなたのマシンからあなたに関する個人情報を収集することもできません。
Cookie の有効な定義は次のとおりです。Cookie は、 Web サーバーがユーザーのハードディスクに保存できるテキストです。 Cookie を使用すると、Web サイトはユーザーのマシンに情報を保存し、後でそれを取得できます。情報は名前と値のペアとして保存されます。
たとえば、Web サイトは訪問者ごとに一意の ID 番号を生成し、Cookie ファイルを使用してその ID 番号を各ユーザーのマシンに保存する場合があります。
Microsoft の Internet Explorer を使用して Web を閲覧すると、マシンに保存されているすべての Cookie を確認できます。これらが存在する最も一般的な場所は、 c:windowscookiesというディレクトリです。私のマシン上のそのディレクトリを調べると、165 個のファイルが見つかりました。各ファイルは名前と値のペアを含むテキスト ファイルであり、私のマシンに Cookie を配置した Web サイトごとに 1 つのファイルがあります。
ディレクトリを見ると、これらの各ファイルが単純な通常のテキスト ファイルであることがわかります。ファイル名を見ると、どの Web サイトがファイルをマシン上に配置したかがわかります (情報はファイル内にも保存されます)。各ファイルをクリックすると開くことができます。
たとえば、 goto.comにアクセスすると、そのサイトが私のマシンに Cookie を配置しました。 goto.com の Cookie ファイルには次の情報が含まれています。
ユーザーID A9A3BECE0563982D www.goto.com/
Goto.com は、単一の名前と値のペアを私のマシンに保存しました。ペアの名前はUserID 、値はA9A3BECE0563982Dです。初めて goto.com にアクセスしたとき、サイトから一意の ID 値が割り当てられ、それが私のマシンに保存されました。
(ファイルには、上記の 3 つの値の後に、おそらく他の値がいくつか保存されていることに注意してください。これは、ブラウザーのハウスキーピング情報です。)
Amazon.com は、私のマシンにもう少し多くの情報を保存します。 Amazon が私のマシン上に作成した Cookie ファイルを見ると、次のものが含まれています。
セッション ID 時間 954242000 amazon.com/ セッション ID 002-4135256-7625846 amazon.com/ x-main eKQIfwnxuF7qtmX52x6VWAXh@Ih6Uo5H amazon.com/ ubid-main 077-9263437-9645324 amazon.com/
Amazon は、メイン ユーザー ID、各セッションの ID、および私のマシンでセッションが開始された時刻 (および x-main 値 (任意の値)) を保存しているようです。
ほとんどのサイトでは、ユーザー IDという 1 つの情報だけがマシンに保存されています。ただし、サイトは必要に応じて、多くの名前と値のペアを保存できます。
名前と値のペアは、単に名前付きのデータです。これはプログラムではないので、何も「実行」できません。 Web サイトは、マシン上に配置された情報のみを取得できます。他の Cookie ファイルから情報を取得したり、マシンから他の情報を取得したりすることはできません。
Cookie データはどのように移動しますか?
前のセクションで説明したように、Cookie データは、Web サイトによってハード ディスクに保存されている単なる名前と値のペアです。 Cookie データはこれですべてです。 Web サイトはデータを保存し、後でそれを受信します。 Web サイトは、コンピューターに保存されているデータのみを受信できます。他の Cookie やマシン上の他のものを参照することはできません。
データは次のように移動します。
- Web サイトの URL をブラウザに入力すると、ブラウザは Web サイトにページのリクエストを送信します (詳細については、 「Web サーバーの仕組み」を参照してください)。たとえば、ブラウザに URL http://www.amazon.comを入力すると、ブラウザは Amazon のサーバーにアクセスし、そのホームページを要求します。
- ブラウザがこれを行うと、Amazon が設定した Cookie ファイルがマシン上で検索されます。 Amazon Cookie ファイルが見つかった場合、ブラウザはファイル内のすべての名前と値のペアを URL とともに Amazon のサーバーに送信します。 Cookie ファイルが見つからない場合は、Cookie データは送信されません。
- Amazon の Web サーバーは、Cookie データとページのリクエストを受け取ります。名前と値のペアを受け取った場合、Amazon はそれらを使用できます。
- 名前と値のペアが受信されない場合、Amazon は、ユーザーがこれまでにアクセスしたことがないことを認識します。サーバーは Amazon のデータベースに新しい ID を作成し、送信するWeb ページのヘッダーに名前と値のペアをマシンに送信します。マシンは名前と値のペアをハードディスクに保存します。
- Web サーバーは、サイトにアクセスしてページをリクエストするたびに、名前と値のペアを変更したり、新しいペアを追加したりできます。
サーバーが名前と値のペアを使用して送信できる情報は他にもあります。そのうちの 1 つは有効期限です。もう 1 つはパスです (これにより、サイトはさまざまな Cookie 値をサイトのさまざまな部分に関連付けることができます)。
このプロセスはあなたが制御できます。ブラウザにオプションを設定して、サイトが名前と値のペアを送信するたびにブラウザが通知するようにすることができます。その後、値を受け入れるか拒否することができます。
Web サイトはどのように Cookie を使用しますか?
Cookie は、Web サイトを実装する人々にとって大きな問題を解決するために進化しました。最も広い意味では、Cookie を使用すると、サイトはマシン上の状態情報を保存できます。この情報により、Web サイトはブラウザがどのような状態にあるかを記憶できます。ID は単純な状態情報の 1 つであり、マシン上に ID が存在する場合、サイトはユーザーが以前にアクセスしたことがわかります。状態は「あなたのブラウザが少なくとも 1 回サイトにアクセスしている」という状態で、サイトはその訪問からあなたの ID を知っています。
Web サイトではさまざまな方法で Cookie が使用されます。最も一般的な例をいくつか次に示します。
サイトは、実際にサイトを訪問した人の数を正確に把握できます。プロキシ サーバー、キャッシュ、コンセントレータなどの理由から、サイトが訪問者を正確にカウントする唯一の方法は、訪問者ごとに一意の ID を持つ Cookie を設定することであることがわかりました。サイトは Cookie を使用して、訪問者数、新規訪問者と再訪問者の数、訪問者の訪問頻度を判断できます。サイトはユーザーの設定を保存して、訪問者ごとにサイトの外観を変えることができます (カスタマイズと呼ばれることが多い)。たとえば、 msn.comにアクセスすると、「コンテンツ/レイアウト/色を変更する」機能が提供されます。また、郵便番号を入力して、カスタマイズされた気象情報を取得することもできます。郵便番号を入力すると、次の名前と値のペアが MSN の Cookie ファイルに追加されます。
WEAT CC=NC%5FRaleigh%2DDurham®ION= www.msn.com/
- 私はノースカロライナ州ローリーに住んでいるので、これは当然のことです。
- ほとんどのサイトは、このような設定をサイトのデータベースに保存し、Cookie として ID だけを保存しているようですが、実際の値を名前と値のペアで保存することも別の方法です (このアプローチが支持されなくなった理由については後で説明します) )。
電子商取引サイトでは、ショッピング カートや「クイック チェックアウト」オプションなどを実装できます。 Cookie には ID が含まれており、ユーザーがカートにさまざまなものを追加したときにサイトがユーザーを追跡できるようになります。ショッピング カートに追加した各アイテムは、ID 値とともにサイトのデータベースに保存されます。チェックアウトすると、サイトはデータベースからすべての選択内容を取得することで、カートの中に何が入っているかを認識します。 Cookie などのものがなければ、便利なショッピングの仕組みを実装することは不可能です。
これらすべての例において、データベースに保存できるのは、サイトから選択したもの、サイトから閲覧したページ、オンライン フォームでサイトに提供した情報などであることに注意してください。すべての情報は、サイトのデータベースに保存され、ほとんどの場合、コンピューターに保存されるのは固有の ID を含む Cookie だけです。
Cookieの問題
Cookie は完璧な状態メカニズムではありませんが、Cookie を使用しないと不可能な多くのことが確実に可能になります。 Cookie を不完全にする要因をいくつか紹介します。
- 人々はマシンを共有することがよくあります– 公共の場所で使用されるマシン、およびオフィス環境や自宅で使用される多くのマシンは、複数の人々によって共有されます。オンライン ストアから何かを購入するために (たとえば図書館にある) 公共のマシンを使用するとします。ストアはマシンに Cookie を残し、後で誰かがあなたのアカウントを使用してストアから何かを購入しようとする可能性があります。通常、ストアはこの問題について大規模な警告を掲示しますが、それが理由です。それでも、間違いが起こる可能性はあります。たとえば、私はかつて妻のマシンを使用して Amazon から何かを購入したことがありました。その後、彼女は Amazon にアクセスして「ワンクリック」ボタンをクリックしましたが、本当に 1 回のクリックで本を購入できるとは知りませんでした。 Windows NT マシンや UNIX マシンなど、アカウントを適切に使用するマシンでは、これは問題になりません。アカウントはすべてのユーザーの Cookie を分離します。他のオペレーティング システムではアカウントははるかに緩和されており、これが問題です。上記の例を公共のマシンで試し、そのマシンを使用している他の人が 「コンピューター入門」 にアクセスした場合、履歴 URL には非常に長いファイルのリストが表示される可能性があります。
- Cookie が消去される– ブラウザーに問題があり、テクニカル サポートに電話した場合、おそらくテクニカル サポートが最初に行うことは、マシン上のインターネット一時ファイルをすべて消去することです。これを行うと、Cookie ファイルがすべて失われます。これで、サイトに再度アクセスすると、そのサイトはあなたを新規ユーザーとみなし、新しい Cookie を割り当てます。これにより、サイトの新規訪問者と再訪問者の記録が歪む傾向があり、また、以前に保存された設定を復元するのが困難になる可能性もあります。サイトが場合によっては登録を求めるのはこのためです。ユーザー名とパスワードを使用して登録すると、Cookie ファイルを紛失した場合でもログインでき、設定を復元できます。設定値がマシンに直接保存されている場合 (上記の MSN 天気予報の例のように)、回復は不可能です。そのため、多くのサイトでは現在、すべてのユーザー情報を中央データベースに保存し、ユーザーのマシンには ID 値のみを保存しています。 「コンピューター入門」の Cookie ファイルを消去してから、前のセクションの履歴 URL に再度アクセスすると、 「コンピューター入門」には履歴がないことがわかります。サイトは新しい ID と Cookie ファイルを作成する必要がありますが、その新しい ID に対するデータはデータベースに保存されません。 (「コンピューター入門」 登録システムを使用すると、いつでも履歴リストをリセットできることにも注意してください。)
- 複数のマシン– 一日に複数のマシンを使用することがよくあります。たとえば、オフィスにマシン、自宅にマシン、そして外出用のラップトップがあります。問題を解決するためにサイトが特別に設計されていない限り、3 台のマシンすべてに 3 つの固有の Cookie ファイルが存在することになります。 3 台のマシンすべてからアクセスしたサイトは、私を 3 人の別々のユーザーとして追跡します。設定を 3 回行うのは面倒かもしれません。繰り返しになりますが、登録が可能で設定を一元的に保存できるサイトでは、3 台のマシンで同じアカウントを持つことが簡単になる可能性がありますが、サイト開発者はサイトを設計するときにこれを計画する必要があります。前のセクションで説明した履歴 URL に 1 つのマシンからアクセスし、別のマシンから再度アクセスしてみると、履歴リストが異なることがわかります。これは、サーバーが各マシンに 1 つずつ、2 つの ID を作成したためです。
おそらく、これらの問題に対する簡単な解決策は、ユーザーに登録してすべてを中央データベースに保存するよう求める以外にありません。
「コンピューター入門」 登録システムに登録すると、問題は次の方法で解決されます。 サイトは Cookie の値を記憶し、登録情報とともに保存します。時間をかけて他のマシン (または Cookie ファイルを失ったマシン) からログインすると、サーバーはそのマシン上の Cookie ファイルを変更して、登録情報に関連付けられた ID を含めます。したがって、同じ ID 値を持つ複数のマシンを持つことができます。
インターネット上の Cookie: プライバシーの問題
この記事をここまで読んだ方は、なぜ Cookie とインターネット プライバシーに関してメディアでこれほど大騒ぎになったのか疑問に思われるかもしれません。この記事では、Cookie が無害なテキスト ファイルであることと、Cookie が Web 上で多くの便利な機能を提供していることを理解しました。
Cookie に関して強い反応を引き起こした原因は 2 つあります。
- 1 つ目は、何十年も消費者を悩ませてきた問題です。従来の通販カタログから何かを購入するとします。カタログ会社は、注文内容からあなたの名前、住所、電話番号を把握しており、また、あなたが購入した商品も知っています。あなたに同様の製品を販売したいと考えている他の人にあなたの情報を販売する可能性があります。それが電話勧誘や迷惑メールを可能にする原動力です。 Web サイトでは、サイトはあなたの購入だけでなく、あなたが読んだページ、あなたがクリックした広告なども追跡できます。あなたが何かを購入して名前と住所を入力すると、サイトは潜在的により多くのことを知ることになります。従来の通信販売会社よりも、これにより、ターゲティングがより正確になり、多くの人が不快に感じます。サイトごとにポリシーも異なります。 「コンピューター入門」 には厳格なプライバシー ポリシーがあり、お客様から特に指示された場合 (たとえば、オプトイン電子メールプログラムなど) を除き、読者に関する個人情報を第三者に販売または共有することはありません。情報をまとめて配信します。たとえば、レポーターが 「コンピューター入門」 の訪問者数やサイトのどのページが最も人気があるかを私に尋ねた場合、データベース内のデータからそれらの集計統計を作成します。
- 2 つ目はインターネットに特有のものです。複数のサイトで表示される Cookie を実際に作成できる特定のインフラストラクチャ プロバイダーが存在します。これの最も有名な例です。多くの企業は DoubleClick を使用してサイトにバナー広告を配信します。 DoubleClick は、サイト上に小さな (1×1 ピクセル) GIF ファイルを配置し、DoubleClick がコンピュータに Cookie を読み込めるようにすることができます。 DoubleClick は、複数のサイトにわたるユーザーの動きを追跡できるようになります。検索エンジンに入力した検索文字列が表示される可能性があります (悪意のあることが意図されているわけではなく、一部の検索エンジンのシステム実装方法が原因です)。 DoubleClick は複数のサイトからユーザーに関する非常に多くの情報を収集できるため、非常に充実したプロフィールを作成できます。彼らはまだ匿名ですが、お金持ちです。 DoubleClick はさらに一歩前進しました。 DoubleClick は企業を買収することで、これらの豊富な匿名プロフィールを名前や住所の情報にリンクさせ、個人化してデータを販売すると脅しました。それはほとんどの人にとってスパイ行為のように見え始め、それが騒動の原因となった。 DoubleClick とそのような企業は、非常に多くのサイトに広告を配信しているため、この種のことを行う上で独特の立場にあります。 Cookie はサイト固有であるため、クロスサイト プロファイリングは個々のサイトで利用できる機能ではありません。