「こんにちは、日経太郎さん」。パソコンを起動してアクセスしたネットショッピングサイトで、こんな文字を目にした。今日はこのサイトでログイン操作をしていないはずなのに、なぜ自分だと分かるのか。

 実は、Webサイトの開設者は再びアクセスしてきたあなたの存在をしっかりと把握することができる。それを実現しているのが、Cookie(クッキー)だ。

 もちろん、そのサイトでユーザー登録などをしない限り、Webサイト側はあなたの氏名や住所までは分からない。だが、あなたが前回いつアクセスしてきたか、そのときどんなページを見たかといった情報はCookieによって把握できる。

 Cookieとは、ユーザーを識別するためにWebサイトがユーザーのパソコンに保存するデータのこと。冒頭のような経験をお持ちの方は、試しに初めて使うパソコンから同じサイトにアクセスしてみてほしい。このときは、あなたの名前は表示されないはず(図28)。そのパソコンにCookieが保存されていないためだ。

図28 そのサイトにログインしていない状態でも、「こんにちは○○さん」と自分の名前が表示されることがある(左)。ただ別のパソコンから同じサイトにアクセスすると、名前は表示されない(右)
[画像のクリックで拡大表示]

パソコン内に情報を保存

 Cookieの保存の仕組みは、次の通り(図29)。まずユーザーがWebサイトに最初にアクセスしてきたとき、サーバーはその人に固有のIDを割り当てる。そしてそれをCookieとして保存するようブラウザーに指示する。

図29 Webサーバーから返されるWebページにCookieが含まれていると、ブラウザーはそれをパソコン内に保存する。次回、同じブラウザーが同じサーバーにアクセスするときは、保存されていたCookieも送る。Webサーバー側は、そのユーザーがどれくらいの頻度でどんなページを見に来ているか、などが把握できる
[画像のクリックで拡大表示]

 ユーザーが同じサイトに再びアクセスすると、ブラウザーはサーバーにCookieを送る。これによって、サイト側はアクセスしてきたユーザーの固有IDが分かる。そしてそのIDから、その人がサイト内のどんなページを好んで見ているか、いつも何時ごろアクセスしてくるかなどの分析ができる。当人が興味を持つであろう広告を配信したり、同じ広告をしつこく配信することを防いだり、といった制御が可能になる。

 またCookieは、Webサイトの使い勝手を上げるのにも一役買っている。例えば、ユーザーIDやパスワードを入力してログインする手間を省ける。ユーザーごとにカスタマイズ可能なページを用意しているサイトであれば、次回のアクセス時にもカスタマイズ後の状態で表示することが可能だ。

買い物かごにも使われる

 ネットショッピングでおなじみの「買い物かご」機能を実現する上でも、欠かせない存在だ。HTTPではページごとにユーザーとサーバーとの接続(コネクション)を確立する方法を採っているため、基本的には別のページにアクセスすると、前のページで利用していた情報は消えてしまう。だがCookieがあれば、その人が前のページでどんな商品を買い物かごに入れていたかをサーバー側で特定できる。このため、ユーザーが違うページを見た後で買い物かごに戻っても、以前に入れた商品がきちんとかごに入っている。

 インターネットをよく使うユーザーなら、パソコンにはおそらく大量のCookieが保存されているだろう。Cookieの有無は、エクスプローラから手軽に確認できる(図30)。Windows XPの場合は、IEが保存したCookieは「C:\Documents and Settings\(ユーザー名)\Cookies」の中に入っている(このフォルダーを見るには、「コントロールパネル」→「フォルダオプション」→「表示」タブで、「保護されたオペレーティングシステムファイルを表示しない」のチェックを外す必要がある)。

図30 Vistaでは、ユーザーフォルダー以下の「AppDataRoamingMicrosoftWindowsCookiesLow」などにCookieが格納されている(このフォルダーは、フォルダオプションで設定を変更しなければ表示されない)。XPなら、ユーザーフォルダーの下のCookiesフォルダーで確認できる。いずれも、Cookieの正体はテキストファイル。中には、数字や英字が並んでいる
[画像のクリックで拡大表示]

 ここに入っている各ファイルが、Cookieの正体。ファイル名は「ログオン名@Cookieを発行したドメイン名の略称」となっている。日ごろよく利用しているサイトの名前がずらりと並んでいるだろう。ファイル形式はテキストなので、メモ帳などで開けば中身も見られる。