クッキー(Cookie)の利用

通常、ひとつのWebシステムは複数のWebアプリケーションで構成されます。

例として、ショッピングサイトでの商品購入までの流れを考えてみます。
まず、商品を購入するためにはユーザー登録を行い、システムへログインする必要があります。その後、商品を検索し、欲しい商品が決まったら、購入ページへ遷移し、決済を行います。

このとき、最初にシステムにログインすると、その後ログオフしない限り、同じシステム内でページを遷移する際、ログイン状態を引き継ぎます。そのような状態を「ステートフル」と言います。

その逆に、ページを遷移する際にログイン状態を引き継がないことを、「ステートレス」と言います。

そのため、上記のようなショッピングサイトを構築するためには、ステートフルな仕組みが必要となります。

ただ、Webアプリケーションで使用するHTTPは、ステートレスなプロトコルであり、1ページごとに1セッションとなってしまいます。
ステートフルを実現するには、ページを遷移しても状態を引き継ぐような仕組みが必要です。

そのための仕組みのひとつにCookie(クッキー)というものがあります。

クッキー(Cookie)とは

クッキー(Cookie)とは、Webサイトの提供者が、Webブラウザを通じてクライアントのパソコン上に一時的にデータを書き込んで保存させる仕組みのことです。

本来、セキュリティ上の理由などから、Webサイトの提供者がクライアントのパソコンにデータを保持することはできないのですが、このクッキーという仕組みのみ、それが可能です。

クッキーには、ユーザーIDやパスワードなど、提供側が指定した任意のデータを保存しておくことができ、その仕組みを使用して、複数のページでデータを共有し、結果、ステートフルを実現することができるのです。

ただし、クッキーにはいくつかの制限事項があります。

  • 1つのCookieに保存できるサイズは4096バイト以内。
  • 1台のサーバーが同じコンピュータに対して発行できるCookieの数は20個のみ。
  • Cookieの総数は300個まで。これを超えると古い方から削除される。
  • 個々のCookieには有効期限が設定されており、期限を過ぎたものは破棄される。