Cookie和Session的区别及详解

概述:会话(Session)跟踪是Web程序中经常使用的技术,用来跟踪用户的整个会话过程,经常使用的会话跟踪技术是Cookie和Session.Cookie经过在客户端记录信息肯定用户身份,Session经过在服务器记录信息肯定用户身份。下面简述Cookie与Session机制,并比较说明何时不能用Cookie,何时不能用Session。web

1.一、Cookie机制浏览器

在程序中,会话跟踪是很重要的事情,理论上,一个用户的全部请求操做都应该属于同一个会话,而另外一个用户的全部请求操做应该属于另一个会话,两者不能混淆。例如,用户A在超市购买的任何商品都应该放在A的购物车内,不管是用户A什么时间购买的,这都是属于统一会话的,不能放入用户B的购物车内,这不属于同一会话。服务器

而Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的链接就会关闭,再次交换数据须要从新简历新的链接,这就意味着服务器没法从链接上跟踪会话,即用户A购买了一件商品放入购物车内当再次购买商品是服务器已经没法判断该购买行为是属于用户A的会话仍是用户B的会话了,要跟踪会话,必须引入一种机制。cookie

Cookie就是这种机制,它能够弥补HTTP协议无状态的不足,在Session出现以前,基本上全部的网站都采用Cookie来跟踪会话。session

1.二、Session机制网站

除了使用Cookie,web应用程序还常常使用Session来记录客户端状态,Session是服务器端使用的一种记录客户端状态的机制,使用上比cookie简单一些,相应的页增长了服务器的存储压力。io

1.2.一、什么是Session服务器端

Session是另一种记录客户状态的机制,不一样的是Cookie保存在客户端浏览器中,而session保存在服务器上,客户端浏览器访问服务器的时候,服务器把客户端信息以某种i形式记录在服务器上。这就是Session,客户端浏览器再次访问时只须要从该Session中查找客户的状态就能够了。简历

若是说Cookie机制是经过检查客户身上的“通行证”来肯定客户身份的话,那么Session机制就是经过检查服务器上的“客户明细表”来肯定客户身份的,Session至关于程序在服务器上创建的一份客户档案,客户来的时候只须要查询客户档案表就能够了。请求

相关文章
相关标签/搜索