Cookie和Session的区别

发布时间 2023-09-24 18:14:32作者: 橘子的小屋

在工作中,我们经常会遇到Cookie和Session这两个概念。对于它们的区别,也是面试中被问到的高频题目。因此,在本文中将简要介绍一下Cookie和Session之间的区别。

 

存储位置:Cookie存储在客户端(浏览器),而Session存储在服务器端。

 

安全性:cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。

 

服务器压力:session会在一定时间内保存在服务器上。当访问增多,会比较占用服务器的性能, 考虑到减轻服务器性能方面,应当使用COOKIE。

 

存储方式:Cookie中只能保存ASCII字符串,而Session中可以保存任意类型的数据,甚至Java Bean乃至任何Java类、对象等。

 

生命周期:Cookie可以设置为长期有效,而Session会随会话窗口关闭而失效。

 

浏览器支持:Session的运行依赖Session id,而Session id是存在Cookie中的,如果浏览器禁用了Cookie,Session也会失效

 

存储大小:Cookie保存数据<=4KB,一个站点最多保存20个Cookie,而Session并没有上限,取决于服务器的能力和具体的使用场景。

 

跨域支持:Cookie支持跨域名访问,Session不支持跨域名访问