专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Html教程 » cookie:理解cookie机制 »正文

cookie:理解cookie机制

来源: 发布时间:星期四, 2009年2月12日 浏览:92次 评论:0


   cookie机制基本原理就如上面例子样简单但是还有几个问题需要解决:“会员卡”如何分发;“会员卡”内容;以及客户如何使用“会员卡”
   正统cookie分发是通过扩展HTTP协议来实现服务器通过在HTTP响应头中加上行特殊指示以提示浏览器按照指示生成相应cookie然而纯粹客户端脚本如JavaScript或者VBScript也可以生成cookie
而cookie 使用是由浏览器按照原则在后台自动发送给服务器浏览器检查所有存储cookie如果某个cookie所声明作用范围大于等于将要请求资源所在位置则把该cookie附在请求资源HTTP请求头上发送给服务器意思是麦当劳会员卡只能在麦当劳店里出示如果某家分店还发行了自己会员卡那么进这家店时候除了要出示麦当劳会员卡还要出示这家店会员卡
cookie内容主要包括:名字过期时间路径和域
其中域可以指定某个域比如.google.com相当于总店招牌比如宝洁公司也可以指定个域下具体某台机器比如www.google.com或者froogle.google.com可以用飘柔来做比
路径就是跟在域名后面URL路径比如/或者/foo等等可以用某飘柔专柜做比
路径和域合在起就构成了cookie作用范围
如果不设置过期时间则表示这个cookie生命期为浏览器会话期间只要关闭浏览器窗口cookie就消失了这种生命期为浏览器会话期 cookie被称为会话cookie会话cookie般不存储在硬盘上而是保存在内存里当然这种行为并不是规范标准规定如果设置了过期时间浏览器就会把cookie保存到硬盘上关闭后再次打开浏览器这些cookie仍然有效直到超过设定过期时间
存储在硬盘上cookie 可以在区别浏览器进程间共享比如两个IE窗口而对于保存在内存里cookie区别浏览器有区别处理方式对于IE个打开窗口上按 Ctrl-N(或者从文件菜单)打开窗口可以和原窗口共享而使用其他方式新开IE进程则不能共享已经打开窗口内存cookie;对于 Mozilla Firefox0.8所有进程和标签页都可以共享同样cookie般来说是用javascriptwindow.open打开窗口会和原窗口共享内存cookie浏览器对于会话cookie这种只认cookie不认人处理方式经常给采用session机制web应用开发者造成很大困扰
下面就是个goolge设置cookie响应头例子
HTTP/1.1 302 Found
Location: http://www.google.com/l/zh-CN/
Set-Cookie: PREF=ID=0565f77e132de138:NW=1:TM=1098082649:LM=1098082649:S=KaeaCFPo49RiA_d8; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; do=.google.com
Content-Type: text/html
这是使用HTTPLook这个HTTP Snfer软件Software来俘获HTTP通讯纪录部分
浏览器在再次访问goolge资源时自动向外发送cookie
使用Firefox可以很容易观察现有cookie
使用HTTPLook配合Firefox可以很容易理解cookie工作原理
IE也可以设置在接受cookie前询问
这是个询问接受cookie对话框
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: