Cookie---状態管理とトラッキング(2)
来源:互联网 发布:手机网络管理 编辑:程序博客网 时间:2024/06/10 16:50
サンプル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を受け取ったときにダイアログを表示するように設定するCookieを見る
では,この設定を施した状態で,Cookieの基本を確認してみましょう。まず,リスト1に示すsimple.cgiをCGIとして設置します。
#!C:\Perl\bin\perluse 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を受け取ったときに表示される「プライバシー警告」ダイアログさらに[詳細情報]ボタンを押すと,図5のように表示されます。
図5●「プライバシーの警告」ダイアログを詳細表示する ここに書かれているのがsimple.cgiから送られてきたCookieの情報です。リスト1と見比べてみると,図5の「名前」と「データ」と「パス」の部分が,リスト1のSet-Cookie: key1=value1; path=/
に書かれている内容に対応していることがわかるでしょう。このSet-Cookieにはexpiresがありませんから,「有効期限」は「セッションの終わり」になっています。またsecureフラグがついていないので「セキュリティ保護」は「いいえ」になっています。
[Cookieを許可]のボタンを押すと,Webブラウザは図6のような画面になります。この画面を見ただけではCookieの有無や内容は全くわかりません。
図6●simple.cgiの表示ぜひ,Cookieを受け取ったらダイアログを表示する設定のまま,あちこちのWebサイトにアクセスしてみてください。驚くほどに頻繁にダイアログが表示されることがわかるはずです。つまり,Cookieはそれほど一般的に多用されている技術なのです。
- Cookie---状態管理とトラッキング(2)
- Cookie---状態管理とトラッキング (1)
- ---会话管理(cookie)
- JavaWeb 会话管理(cookie)
- 会话管理(Cookie、Session)
- http相关知识 - (2)状态管理 - cookie
- cookie管理
- Cookie管理
- cookie管理(2) session存储于内存
- 会话管理(cookie)(一)
- servlet复习(五)cookie管理
- ASP.NET 状态管理(cookie、Session)
- PHP COOKIE管理(setcookie、setrawcookie)
- JQ设置cookie、读取cookie、删除cookie(2)
- codeigniter 管理cookie创建cookie修改cookie删除cookie
- 插件69:管理cookie
- 会话 (cookie)管理
- 会话管理 Cookie
- 基于ARM含SD控制器的SD卡的SDIO模式驱动解析
- VC中#pragma warning指令
- 程序集清单(Assembly Manifest)及其在VISTA和WIN7下的应用
- Struts 2中的OGNL
- 直方均衡,平滑,锐化
- Cookie---状態管理とトラッキング(2)
- rac自动生成各节点的AWR
- linux2.6.20 sd/mmc卡驱动学习日记4(基于s3c2440)
- offsetLeft 与 style.left、offsetWidth 与 style.width、offsetHeight 与 style.height 等区别
- 02-07 控制AutoCAD环境(七) 精确制图
- erlang 监控树 supervisor
- 组合算法
- 最后审视一下自己,然后去生活得很灿烂
- c++头文件相互包含