Webページの中身をカスタマイズしたい

Webページでユーザに何らかの情報を提供しようとするとき、状況に応じてWebページの内容をカスタマイズしたいことがあります。たとえば、ショッピングサイトでユーザごとにオススメの商品を表示するなどです。こうした状況に応じたWebページの内容をカスタマイズするときにHTTP Cookieを利用することができます。

HTTP Cookie

HTTP Cookieは、WebサーバアプリケーションがWebブラウザに対し特定の情報を保持させておく仕組みです。CookieはWebサーバアプリケーションがWebブラウザからのリクエストに対するHTTPレスポンスに含めて送ります。Cookieにどのような情報を入れるかはWebサーバアプリケーション側で決めています。

Webブラウザは、Cookieを受け入れるように設定されていると受信したCookieを保存します。その後、同じWebサイトにアクセスするときにはHTTPリクエストに保存しておいたCookieも一緒に含めるようになります。

Cookieを利用することで、Webサーバはユーザのログイン情報やサイト内のWebページの閲覧履歴を管理することができます。これにより、アクセスしてきたユーザに応じて、Webページの内容をカスタマイズすることもできます。たとえば、ショッピングサイトでオススメ商品を表示するには、ユーザがある商品情報を参照したら、その情報をCookieでWebブラウザに保存しておきます。その後、再びユーザがサイトにアクセスしてきたらCookieを読み取って、前回参照した商品の関連情報をオススメとして表示するといったことができます。

HTTP Cookie
図 HTTP Cookie
Cookieの情報はHTTPヘッダに含まれています。

Cookieの例

Webブラウザに保存しているCookieを確認してみましょう。Google Chromeでは、次のような手順でCookieを確認できます。

  1. アドレスバーに chrome://settings/content/cookies を入力する
  2. [すべてのCookieとサイトデータを表示]を開く
  3. Webサイト(Webサーバ)ごとに保存しているCookieをクリックして内容を確認
Google Chrome Cookieの確認
図 Google Chrome Cookieの確認

Cookieを確認すると、とても多くのWebサイト(Webサーバ)から送られたCookieがあることがわかるでしょう。その内容はWebサーバアプリケーション側で決めていて、Webサーバアプリケーション側だけで使うものです。ユーザがCookieの内容を見ても何のためにどのような情報が含まれているのか一見してわからないようになっていることがほとんどです。

TCP/IP