
199
10
章
ユーザの記憶:
クッキーとセッション
Web サーバは、図々しいお客でいっぱいの忙しいデリカテッセンの店員にとてもよく似ていま
す。デリカテッセンのお客は大声で「コンビーフを半パウンドちょうだい」とか「パストラミを 1 パ
ウンド、薄切りでお願いね」などとリクエストします。店員は注文に追われ、切ったり包んだりで
大忙しです。Web クライアントは電子的にリクエストを叫び(「/catalog/yak.phpをちょうだい」と
か「フォームをサブミットしましたよ」)、サーバはPHP エンジンの機能を使ってリクエストを満た
すレスポンスを作成するために電子的にきりきり舞いをします。
しかし、デリカテッセンの店員には Web サーバにはない強みがあります。それは記憶です。店
員は、当然ながら特定の顧客の注文をすべていっしょにまとめます。PHP エンジンとWeb サーバ
は同じことを行うのに多くの工程が必要です。そこで、クッキ
ー(cookie)の出番です。
クッキーは、Web サーバと PHP エンジンに対する特定の Web クライアントを識別します。Web
クライアントは、リクエストを行うたびにリクエストと一緒にクッキーを送ります。エンジンは
クッキーを読み込み、ある特定のリクエストに以前のリクエストと同じクッキーが付いていること
から以前のリクエストと同じ Web クライアントから来ていることがわかります。
デリカテッセンのお客が物覚えの悪い店員にあたってしまったら、同じ方法を取らなければいけ
ません。以下のように注文することになるでしょう。 ...