cookie(クッキー)とは小さなデータを保存しておくために考えられたブラウザの機能で、Netscape Navigator 2.0 から登場し、Internet Explorer 3.0 以降のブラウザにも搭載されています。
通常、データの保存方法はCGIを使ってサーバーの内部にファイルを作ります。しかし、cookie はブラウザのあるコンピュータ、つまりこのドキュメントを見ているあなたのコンピュータ(クライアント、ローカル)の中に作られます。
cookie は主に、個人的な情報を記録するために用いられます。例えば、オンラインショッピングで名前や住所、クレジットカード番号を毎回入れるのは面倒です。そこでその情報をどこかに記録して置いて、必要なときに呼び出すことができれば操作が簡便になります。
そこで、サーバーにその情報を置いておき、必要なときにそれを呼び出すということも考えられますが、これは非常に危険なことです。サーバーは24時間インターネットに接続され、世界中の誰もがあなたと同様に利用しているからです。
しかし、cookie はそうではありません。画面に入力した文字を使用しているブラウザのあるローカルディスクにブラウザの補助データとして記録しているのです。BBSなどで、1度名前やアドレスを記入後、次からは自動的に画面にそれが残っているのは cookie を使っているためです。
ブラウザの設定の中に cookie の受け入れをするかどうかの項目があれば、誰でもその機能を使うことができます。全て許可するといった設定になっていると、知らない間に使っているのです。
「知らない間に」というのは、恐ろしいことを想像しませんか。知らない間に自分のコンピュータにデータを作るなんて、まるでウイルスのようだと思うかも知れません。
しかし、安心してください cookie は決まった書式のテキストファイルです。決まった書式で自分が入力した内容と、それをどこに記入したのかを記録しています。現時点では cookie 機能だけが唯一ローカルディスクにデータを書き込みする機能と言えます。(Internet Explorer が読み込む asp ファイルはプログラムとして機能します。データの流出はありえますが、データの流入はないでしょう)
さて、cookie の正体を見るために、「Cookie.txt」または「MagicCookie」というファイルを探して、エディタで開いて見てください。整然と文字が並んでいるのが分かります。(データを書き換えないようにしてください。消したい場合はブラウザの機能を使ってください)
# Netscape HTTP Cookie File # http://www.netscape.com/newsref/std/cookie_spec.html # This is a generated file! Do not edit. www.nnj.co.jp FALSE /P/001/BBS/ FALSE 881854879 bbsc 秀麗!|!m!|!hideki@mx.biwa.or.jp!|!http://www.biwa.or.jp/~hideki/Shurey/ cgi-club.hobbyj.co.jp FALSE /BBS/ FALSE 904579628 name %8fG%97%ed cgi-club.hobbyj.co.jp FALSE /BBS/ FALSE 904579628 email hideki%40mx.biwa.or.jp cgi-club.hobbyj.co.jp FALSE /BBS/ FALSE 904579628 url http%3a//www.biwa.or.jp/%7ehideki/ www.nnj.co.jp FALSE /P/001 FALSE 881924377 MFM %8FG%97%ED,37,1,%96q%8F%EA%8A%C4%8E%8B%88%F5 .yahoo.com TRUE / FALSE 883609200 GET_LOCAL last=index.html&ver=1 .msn.com TRUE / FALSE 937396838 MC1 GUID=1e33c480fe7011d0bd8b08002bb9f771 .microsoft.com TRUE / FALSE 937421994 MC1 GUID=1e33c480fe7011d0bd8b08002bb9f771 .goo.ne.jp TRUE / FALSE 937398052 ink gU02ld1IEFE13AF11A49D8BB7838A9186EE641C4
1つの cookie の書式は、「ドメイン」「ディレクトリ」「使用期限」「cookie の名称と内容」となっています。それらがいくつも並んでいます。
一番上の cookie を例に取ると、「www.nnj.co.jp/P/001/BBS/」の中にあるHTMLファイルに対して送信されるものと分かります。もちろん、無闇に送られるのではなくて受け取るファイル側にもそれを呼び出す設定がある場合だけです。少なくともcookie を作ったHTMLの「ドメイン」と cookie を利用するHTMLの「ドメイン」は同じでなければ cookie は送信されません。
「881854879」というのが秒換算した使用期限を表しています。cookie は受け入れ後、使用期限を経過すると消滅するようになっています。BBSの場合、再び書き込みをすると cookie が新しく更新されますので、使用期限もその時点から更新されます。
「bbsc 秀麗!|!m!|!hideki@mx.biwa.or.jp!|!http://www.biwa.or.jp/~hideki/Shurey/」の部分が cookie の内容になっています。先頭に cookie を探すための名前が付いています。その後の部分が実際に受け取ったHTMLのフォームに送られる記録です。この場合、名前、性別、メールアドレス、URLの順に格納されています。
設定者側の立場で考えると、CGIで cookie を利用したカウンタを付けて個々人の来場回数を把握することも可能です。振り分けた cookie をCGIで回収しサーバーにコピーを取ることは可能です。ですから、アンケートを取った後に、その人が何回来場しているかを把握することが可能です。
利用者側の立場で注意することは、入力した部分は必ず相手(設定者)に届くということです。つまり、知られたくないことは書かない。これは cookie に限らず個人情報を守る基本です。
また、あくまで二度手間を省くためのシステムなのですが、逆に言うと、別の人が同じコンピュータを使用すれば cookie に残っている内容が確認できることになります。多くの人が利用するコンピュータの場合、cookie 機能を使用しない方が良いとも考えられます。
通常通り、一般的な自己防衛さえしていれば cookie は非常に便利な機能です。BBSなどは当然のように名前やアドレスを送信しますので、cookie に記録されてもそれ自体が害をなすことはないでしょう。送って良い情報と嫌な情報をしっかりと区別して、この機能の役割と仕組みを理解していれば危険にさらされることはないのです。これはインターネット全般に言えることですね。