本文共 763 字,大约阅读时间需要 2 分钟。
区别 | Cookie | Session |
---|---|---|
存在 | Cookie是客户端技术,通常保存在客户端,即本地,IE浏览器把Cookie信息保存在类似于C:\windows\cookies的目录下。因为Cookie在客户端所以可以编辑伪造,不是十分安全 | Session是服务器端技术,在服务端,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务 |
存储数据 | 只能存储 String 类型的对象 | 能够存储任意的 java 对象 |
性能 | Cookie存在客户端对服务器没影响 | Session过多时会消耗服务器资源,大型网站会有专门Session服务器 |
作用域 | Cookie通过设置指定作用域只能在指定作用域有效 | Session在整个网页都有效 |
作用时间 | Cookie可以通过 setMaxAge设置有效时间,即使浏览器关闭了仍然存在 | 关闭网页Session就结束了 |
总结:
1.cookie数据存放在客户端浏览器上,session数据存放在服务器上 2.cookie不是很安全,别人可以分析存放在本地cookie并进行cookie欺骗,考虑到安全应使用session 3.session会在一定时间内保存在服务器上,当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie 4.单个cookie保存数据不能超过4k,很多浏览器都限制一个站点最多保存20个cookie 5.建议: 将登陆信息等重要信息存放在session 其他信息如果需要保存,可以放在cookie中转载地址:http://qrxmb.baihongyu.com/