您的位置:首页 > 其它

cookie和session的区别

2007-12-10 15:01 441 查看
cookie的数据存放在客户端(客户的浏览器),session数据存放在服务器上。 cookie一般用来保存用户的登录信息,并帮助客户端与服务器端建立会话(确认与上次访问的是不是统一用户);session一般用于用户的登录、注销。

cookie分为会话cookie和持久cookie。

        如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。这种生命期为浏览会话期的cookie被称为会话cookie。会话cookie一般不保存在硬盘上而是保存在内存里。

        如果设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie依然有效直到超过设定的过期时间。

         存储在硬盘上的cookie可以在不同的浏览器进程间共享,比如两个IE窗口。而对于保存在内存的cookie,不同的浏览器有不同的处理方式。

          单个cookie在客户端的限制是3k,就是说一个站点在客户端存放的cookie不能是3k。

          大多数浏览器只允许每个站点保存20个cookie,如果试图保存更多的cookie则最先保存的cookie就会被删掉。还有的浏览器会对来自所有站点的cookie总数作出限制,这个限制通常为300个。

session用来保存每个用户信息,以便跟踪每个用户的操作状态,其中session信息保存在容器里,session的ID保存在客户端的cookie中。在许多服务器上,如果浏览器支持cookie,就直接用cookie。若禁用cookie,就自动转化为URL-rewring(重写URL,这个url包含客户端的信息),用户首次登录系统时容器会给此用户分配一个唯一的标识的sessionid,这个ID用于区分其它的用户,当用户退出系统时,这个session就会自动消失。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息