クッキーの仕組み |
では簡単にクッキーの仕組みを理解しておこう。ブラウザはホームページの閲覧時,Webサイトからクッキーを受け取る(図1)。そして,ブラウザはそのクッキーを受け取り保管する。ユーザーが再び同じサイトを訪問した際には,Webサイトはそのユーザーが保持していたクッキーを参照するというのが,基本的なクッキーの利用方法だ(図2)。
|
例として,単純なクッキーカウンターを試してみよう。まず筆者のWebサイトにアクセスしてクッキーを受け取る。ブラウザの「更新」ボタンを押すと,クッキーファイルを参照し,「クッキー情報」のカウントが1つあがるはずだ。保持されているクッキーファイルを削除するとカウントは0(初めて訪問)になる。ここではカウンターのほかに,訪問者の「IPアドレス」,「直前まで見ていたホームページのURL」の3つをクッキーとしてセットしている。
ではクッキーファイルの中身について少し解説しておこう。今回テストしたクッキーファイルを開くとこのような内容になっている(リスト1)。これはNetscape6.1のクッキーファイルだ。
リスト1■Netscape6.1のクッキーファイル# HTTP Cookie File # http://www.netscape.com/newsref/std/cookie_spec.html # This is a generated file! Do not edit. # To delete cookies, use the Cookie Manager. .blackout.org TRUE / FALSE 1005263977 COUNT 5 .blackout.org TRUE / FALSE 1005263977 IP 223.238.95.27 .blackout.org TRUE / FALSE 1005263977 URL |
クッキーファイルは「Name」,「Domain」,「Path」,「Expires」,「Secure」で構成されている(表1)。1番左にはドメイン名があり,クッキーを受け渡したドメイン名が書かれている。2番目に「TRUE」とあるのは,クッキーがセットされた際,HTTPヘッダかJavaScriptどちらでセットされたかを示している。TRUEであればHTTPヘッダ,FALSEであればJavaScriptでセットされたことを意味する。3番目の「/」はPathの部分にあたる。次の4番目の「FALSE」はSecureを表す。そして,数字の羅列された部分はクッキーの有効期限を表している。最後は見てわかるようにサイトから受け取ったクッキーの中身になる。クッキーNameやそれに付随する情報がここにあたる。
表1■クッキーファイルに書かれている内容Name | クッキーの名前 |
Domain | クッキーを受け渡したドメイン名 |
Path | クッキーのアクセスできるパス。「/」である場合サイト内のどこからでもクッキーにアクセスできる。「cgi-bin」とあれば「cgi-bin」以下ということになる |
Expires | クッキーの有効期限 |
Secure | サーバの保護(HTTPS/SSLなどを使用してクッキーを伝送) |
3/5 |