Session与Cookie深入理解

Session与Cookie深入理解

1.解释

会话跟踪是Web程序中常用的技术,用来跟踪用户的整个会话,常用的技术一般为Session与Cookie.
Cookie通过在客户端记录信息确认用户的身份,Session通过在服务器端记录信息确定用户身份.
通俗的讲,当浏览网站时,Web服务器会先松一些资料在你的计算机上,Cookie会帮你在网站上所打的文字或是一些选择.都记录下来
当下次光临同一个网站,Web服务器会先看看有没有它上次留下来的Cookie资料.如果有的话,就会根据Cookie里的内容来判断使用者,送出特定的网页内容给你
由于采用服务器保持状态的方案在客户端也需要保存一个标识,所以Session机制可能要借助Cookie机制来达到保存标识的目的.
2.详细理解
1>Session机制
        除了使用Cookie,Web应用程序还经常用Session来记录客户端状态,Session是服务器端使用的一种记录客户端状态的机制,但是增加了服务器的存储压力.
        Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上,客户端浏览器访问服务器时,服务器把客户端信息以某种形式记录在服务器上,这就是Session.客户端需要再次访问时,只需要从该Session中查找该客户的状态就可以.
       如果说Cookie机制是通过检查客户身上的"通行证"来确定客户的身份的话,那么Session机制就是通过检查服务器上的"客户明细表"来确认客户身份.Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了.
Session对象是在客户端第一次请求服务器的时候创建的.Session也是一种key-value属性对,通过getAttribute(Stringkey)和setAttribute(String key,Objectvalue)方法读写客户状态信息setAttribute(String key,Objectvalue)方法读取客户状态信息
2>Cookie机制

         Web应用程序是使用HTTP协议建立传输数据的,HTTP协议是无状态的协议,一旦数据交换完毕,客户端与服务器端的链接就会关闭,再次交换数据需要建立新的链接.

         这就意味着服务器无法从链接上跟踪回会话,用户A购买了意见商品放入购物车内,再次购买商品时已经无法判断该购买行为是属于用户A的会话还是B的会话了,要跟踪,就需要一种机制,而Cookie就是这样一种机制,它可以弥补HTTP协议无状态的不足.在session出现之前,基本上所有网站都采用Cookie爱追踪会话.
Cookie原理:给客户端办法一个通行证,每个人一个,无论谁访问都必须携带自己的通行证,这样服务器就能从通行证上确认客户身份了,这就是Cookie工作原理.

 

你可能感兴趣的:(PHP学习,HTTP学习)