cookie和session的区别

来源:互联网 发布:帝豪 gs 知乎 编辑:程序博客网 时间:2024/06/01 16:53

一、什么是cookie

HTTP Cookie(也叫Web cookie或者浏览器Cookie)是服务器发送到用户浏览器并保存在浏览器上的一块数据,它会在浏览器下一次发起请求时被携带并发送到服务器上。比较经典的,可以它用来确定两次请求是否来自于同一个浏览器,从而能够确认和保持用户的登录状态。Cookie的使用使得基于无状态的HTTP协议上记录稳定的状态信息成为了可能。

cookie不是缓存

Cookie主要用在以下三个方面:

会话状态管理(如用户登录状态、购物车)

个性化设置(如用户自定义设置)

浏览器行为跟踪(如跟踪分析用户行为)

二、什么是Session

Session,在计算机中,尤其是在网络应用中,称为“会话”。具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。

Session具有以下特点:
(1)Session中的数据保存在服务器端;
(2)Session中可以保存任意类型的数据;
(3)Session默认的生命周期是20分钟,可以手动设置更长或更短的时间。

(4)Session过期的话就要重新登录


至于设置可以用代码设置或者在Web.config中配置,不过不建议将Session的超时时间设置过长,因为默认情况下Session在内存中保存,设置时间过长保存的数据过大的话会导致内存不足。

三、cookie和Session两者自己的区别和联系

Cookie和Session有很多相似的地方,都是用来临时存储来访者信息,有很多情况下,使用两者都可以实现某些特定功能,而两者的根本区别是Cookie对象将信息存放在客户端,Session对象存放在服务器端;从生存期上讲,Cookie可以长期保存,而Session的生存期仅仅到会话结束

Cookie保存在客户端,用户可以看到Cookie文件,并能对Cookie文件进行类似修改、删除的操作,Cookie数据的安全性很难得到保障;而Session数据保存在服务器端,有较好的安全性,若和数据库配合使用,可以使Session数据长期保持,并得到很好的安全性.seesion依赖于cookie ,如果cookie被禁用 session也无法使用。


 



原创粉丝点击