Cookie---状態管理とトラッキング(2)

サンプルsimple: Cookieの基本確認

 今回,筆者は四つのサンプル・プログラムを作りました。CookieをクライアントにセットしてCookieの動作を試す「simple」,Cookieを自由に読み書きできる「ReadWrite」,ユーザーのアクセスを追跡する「Tracker」,ログイン状態を管理できる掲示板の「board」です。すべてPerlで書かれたCGIのWebアプリケーションです。

動作は,以下の環境で確認しました。

  • サーバー側
    • Windows XP
    • Apache 2.0.55*2
    • ActivePerl 5.8.8*3
  • クライアント側
    • Windows XP(サーバーと同じマシン)
    • Internet Explorer 6.0

 最初は,単純にCookieをクライアントにセットするプログラムから見てみましょう。Webブラウザの設定を,Cookieを受け取ったときにダイアログを表示する設定にして実験することで,ブラウザがいつCookieを受け取るかを体感しやすくなります。

Cookieを受け取るときにダイアログを表示

 Webアプリケーションから送られてくるCookieの内容や,そのタイミングを見る目的で,Webブラウザの設定を変更します。ここではInternet Explorerの例を示します。Internet Explorerのメニューで,[ツール]-[インターネットオプション]を選び,表示されたダイアログの「プライバシー」タブで[詳細設定]ボタンを押します。

 図3のような画面が出ますので,「ファーストパーティのCookie」と「サードパーティのCookie」の両方とも「ダイアログを表示する」に設定します。このようにすると,Cookieを受け取ったときにダイアログを表示するようになります。

図3●Cookieを受け取ったときにダイアログを表示するように設定する
図3●Cookieを受け取ったときにダイアログを表示するように設定する
Cookieを見る

 では,この設定を施した状態で,Cookieの基本を確認してみましょう。まず,リスト1に示すsimple.cgiをCGIとして設置します。

#!C:\Perl\bin\perl
use strict;
use warnings;

print <<"EOD";
Set-Cookie: key1=value1; path=/

<html>
  <head>
    <title>simple.cgi</title>
  </head>
  <body>
    <h1>simple.cgi</h1>
  </body>
</html>
EOD
リスト1●Cookieの基本を確認するCGI

 「Set-Cookie:」で始まる行が,Webブラウザに送るSet-Cookieを示します。そのあとの「<html>」以降は,Webブラウザで表示される内容です。WebブラウザでこのCGIにアクセスすると,WebブラウザがCookieを受け取り,図4のようなダイアログを表示します。

図4●ブラウザがCookieを受け取ったときに表示される「プライバシー警告」ダイアログ
図4●ブラウザがCookieを受け取ったときに表示される「プライバシー警告」ダイアログ

 さらに[詳細情報]ボタンを押すと,図5のように表示されます。

図5●「プライバシーの警告」ダイアログを詳細表示する
図5●「プライバシーの警告」ダイアログを詳細表示する
 ここに書かれているのがsimple.cgiから送られてきたCookieの情報です。リスト1と見比べてみると,図5の「名前」と「データ」と「パス」の部分が,リスト1の
Set-Cookie: key1=value1; path=/
に書かれている内容に対応していることがわかるでしょう。

 このSet-Cookieにはexpiresがありませんから,「有効期限」は「セッションの終わり」になっています。またsecureフラグがついていないので「セキュリティ保護」は「いいえ」になっています。

 [Cookieを許可]のボタンを押すと,Webブラウザは図6のような画面になります。この画面を見ただけではCookieの有無や内容は全くわかりません。

図6●simple.cgiの表示
図6●simple.cgiの表示

 ぜひ,Cookieを受け取ったらダイアログを表示する設定のまま,あちこちのWebサイトにアクセスしてみてください。驚くほどに頻繁にダイアログが表示されることがわかるはずです。つまり,Cookieはそれほど一般的に多用されている技術なのです。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值