网站开发技术

记点笔记、 学点技术 欢迎交流建站技术。本站关注lamp技术

您尚未登录。

#1 2014-11-22 09:41:01

admin
管理员

cookie 的工作原理

cookie 的工作原理是什么?

由于http协议, 用户和服务器的交流是, 用户发出请求服务器做出应答。 服务器本身不能知道请求是谁发出的。

比如一个博客程序,用户登录以后就可以写博客, 没有登录就不能写博客。

用户是否登录,这个问题的解决可以通过 cookie 来完成,也可以通过session来完成。

或者可以这样说 session 也是通过 cookie 来完成的, 当然也可以是基于其他的方式,不是在url中添加特定的值。

cookie 比较简单, 按照http协议, 服务器给浏览器发送信息的时候,会发送的消息头,如果发送的有cookie ,那么cookie就在这里面。

看看打开百度首页 http 头信息都有什么

Accept    text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8    
Accept-Encoding    gzip, deflate    
Accept-Language    zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3    
Connection    keep-alive    
Cookie    bdshare_firstime=1392090020548; BAIDUPSID=BEC26CB1DFB03B128BA3C84119102D0F; Hm_lvt_f5127c6793d40d199f68042b8a63e725=1416185143,1416185608,1416280826,1416618718; Hm_lvt_f5127c6793d40d199f68042b8a63e725=1416185143,1416185608,1416280826,1416618718; BD_UPN=13314352; ATS_PASS=0; Hm_lpvt_f5127c6793d40d199f68042b8a63e725=1416620190; BD_HOME=0; Hm_lpvt_f5127c6793d40d199f68042b8a63e725=1416620155; re__f=%20; H_PS_645EC=e380VnS4jnrMr47Rcw%2BE7szBiiv9tmO4tWKUKP0lYpfBlOWoZh5aKs51PGlqpIor86mXr7TD; H_PS_BABANNER=5; BD_CK_SAM=1; BAIDUID=62EC95D58F0DFA05DFA6947913143B6E:FG=1; BDRCVFR[JtfIirWHSAc]=mk3SLVN4HKm; H_PS_PSSID=7419_10161_1433_9993_9475_10032_10121_10017_9498_10051_10008_9978_9024; BDSVRTM=104    
Host    www.baidu.com    
User-Agent    Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0

这里可以看到有个就"加密的cookie" , 简单的cookie 也就是一段很小文本, 正是用这个来区分不同的客户端。

原理是 这里所有值 host , 如果你再次向 www.baidu.com 发出请求其他的网页, 这个cookie 的值是回一起发送的。这样服务器就知道是谁发的请求的了。 



ipbbs.net

离线

页脚

Powered by FluxBB