クッキー(Cookie)について


クッキー(Cookie)に関する簡単な説明です。

通常クッキーと言いますが、"HTTP COOKIES"といいます。インターネットにアクセスしたことのある方なら、どなたでも知っている言葉ですが、どのようなものか知っている方は意外と少 ないようです。
以前、「クッキーって何ですか?」って訊ねられて、「美味しいビスケット」って答えたら、「信じやすい性格なんだぞ」って叱られました。 

あなたがWebサイト上の幾つかのページへのリンクを次々とクリックしたとき、サーバーは単にユーザの要求に応答するだけで、同一ユーザがこのリクエスト を送ってきたと言うことを認識していません。これは送られてきたデータリンクはWebページが配信されると直ちに閉じられるためです。このようなプロトコ ル(通信手順)を Stateless Protocol(ステートレスプロトコル)と呼び、その代表がHTTP(Hypertext Transfer Protocol)でした。

HTTP/1.0になって各種のヘッダが定義されHTTP Cookieも付加されるようになります。HTTP Cookieは、Webサーバーからユーザのコンピュータに送られる情報の一部で、データ伝達の"HTTP Header"と呼ばれる物の中で送信され、Webブラウザ中に内部的に保存されます。
次に、この同じサーバーにアクセスしたとき、サーバーはHTTP Cookieを読み戻しユーザの認識(同定や認証)に利用します。HTTP Cookieは最大4KBであり、実行コードを含むことはできません。

HTTP Cookieに保存されている情報

NAME=VALUE
    NAME属性はHTTP Cookieに保存されるデータの変数名と変数に保存される値で構成されています。空白、セミコロン、コンマを除く文字列です。セミコロン、カンマ、ス ペースが含まれるようなデータを設定する必要がある場合(URLエンコードのような物を扱う場合)にはこの限りではありません。なお、日本語を扱う場合に は、URLエンコードを設定する必要があります。この情報はHTTP Cookieに絶対不可欠な唯一のものです。
expires=DATE
    expires属性は、HTTP Cookieの有効期限の定義です。有効期限に達したHTTP CookieはWebブラウザから削除されます。または、Webブラウザからサーバーに送信されなくなります。
domain=DOMAIN_NAME
    domain属性は、アクセスしたドメインに有効なクッキーを探すため、HTTP CookiesのリストからリクエストされたURLのホストのドメイン名を検索する時に使用されます。
path=PATH
    path属性は、HTTP Cookieが有効なドメインのURLのサブセットを特定するのに使われます。HTTP Cookieがあるdomainにマッチすると、URLのパス名の要素がpath属性と比較されます。そして、一致したなら、クッキーは有効とみなされ、 URLリクエストと一緒に送られます。
secure
    もしHTTP Cookieのsecureにフラグが立てられている場合は、ホストとの通信チャネルが安全なチャネルの場合にのみ送られます。現在では、secureに フラグの立っているHTTP Cookieは、HTTPSサーバのみに送られます。

HTTP Cookieの種類

HTTP Cookiesには Persistent Cookie(パーシステントクッキー)と呼ばれるものと Session Cookie(セッションクッキー)と呼ばれるものの二通りがあります。
セッションクッキーは一時的なクッキーです。Persistent(=永続的)Cookieといっても未来永劫残るものではありません。セッションクッ キーより保存される期間の長いクッキーと言う意味です。
セッションクッキーは、インターネットメールプロバイダにログインするときなどに使用されています。最初にログインすると、メールを表示させようとする度 にアクセス情報(IDやパスワード)を入力しなくても良いのは、このセッションクッキーのおかげです。また、オンラインバンクの認証もセッションクッキー が使用されています。いずれも、サーバーに対する要求が特定の時間内(たとえば、5分)であれば、ユーザ認証が継続されている事例です。
セッションクッキーはサーバーに対するセッションが終了した時点で(通常、ブラウザを終了した時点で)破棄されます。
パーシステントクッキーはフォーラム等に利用されています。一回ログインすると一定期間(2週間とか60日とか)の間にそのフォーラムにアクセスすると自 動ログインされるのは、パーシステントクッキーがサーバーに読み戻されていることによります。
セッションクッキーと異なりパーシステントクッキーはWebブラウザを終了してもWebブラウザ内部に保存されています。Webブラウザ終了時にパーシス テントクッキーを削除したい場合は、Webブラウザの設定で「終了時にCookieを削除する」にチェックを入れます。

HTTP Cookieに対する不安

一方に善良があれば、他方に暗黒が存在します。あなたがオンラインでミステリーを購入し、次にアクセスしたときミステリーに関連するポップアップが表示さ れるのは、ある意味便利かもしれません。必要な情報がアクセスした瞬間に表示されているのですから・・・。しかし、もう一歩踏み込んで考えると、このこと は利用者に関するユーザプロファイルが作成されていることも意味しています。当然、ユーザプロファイルを作成していないサイトもあるでしょうが、オンライ ンショップに限らず、ありとあらゆるサイトでユーザプロファイルを作成することが可能であることを意味しています。
ですから、Webサイトの要求に応じ、あなたを特定する名前、住所、誕生日等を入力したのであれば(懸賞サイトやプレゼントの申し込みでは、これらの情報 は入力せざるを得ません)大量の個人特定型の広告情報がインターネットや郵便で送信されてきても驚くにはあたらないことなのです。
私たちは個人情報をシッカリ管理している真面目なWebサイトが沢山存在することを知っています。それと同時に、Black Cookieと呼ばれる厄介なCookieもまたインターネット上のありとあらゆる所に存在することを理解しておかねばなりません。