session与cookie的区别

来源:互联网 发布:stl源码剖析 知乎 编辑:程序博客网 时间:2024/05/19 12:39
a.存储方式上比较:
cookie:只能保存ascii字符串.cookie不能直接存取java对象.
session:存取任何类型的数据,可以看作一个java容器.


b:隐私安全上比较:
cookie存储在客户端浏览器,客户端可见.不安全.
session存储在服务器上.不存在敏感信息泄露的危险.
c:有效期:
cookie:可以长久地记录用户的登录.
session:session依赖JSESSIONID的cookie,此cookie的maxAge=-1,只要关闭了浏览器session就会失效.不能长久地记录信息.
d:对服务器的负担上:
cookie:cookie存储在客户端,不用考虑内存溢出问题,一次google,baidu,sina并发量极高的网站,不可能使用session(他们采用加密解密的方式)


session:当并发访问用户多的时候,会由于session保存在服务器端,消耗大量内存.可能会内存溢出.
e:浏览器支持上:
cookie:需要客户端浏览器的支持.
session:在不支持cookie的浏览器客户端时候,所有用到session的程序URL都要使用:response.encodeURL或者response.encodeRedirectURL进行URL地址重写.
cookie:可以通过设置maxAge属性实现在本浏览器以及子窗口有效.也可以设为所有的浏0览器窗口内有效(maxAge>)
session:只能在本浏览器窗口以及子窗口内有效.


f:.从跨域名上比较:
cookie:支持跨域名访问.
广泛用于:goole,baidu,sina等
session:不会支持跨域名,仅在所在的域名内有效.
0 0