浅谈cookie与session的区别

时间:2024-08-14 13:35:02

cookie用的是在客户端保持状态的方案(它是在用户端的会话状态的存贮机制),前端也可以来设置他 所有浏览器都识别,并且会缓存在浏览器中。

cookie是以key=value这种键值对的形式保存,每个cookie之间一般用“;”分隔,大小一般不超过4KB

session是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息

下面来说下cookie与session的区别

cookie与session最大的区别就是一个是将数据存放在客户端,一个是将数据存放在服务端

1、存储方式不同

Cookie能保管ASCII字符串,假如需求存取Unicode字符或者二进制数据,需求先进行编码
Session能够存取任何类型的数据。

2、服务器压力不同

Cookie保管在客户端,不占用服务器资源
Session是保管在服务器端的,每个用户都会产生一个Session

3、浏览器支持不同

Cookie是需要客户端浏览器支持的。假如客户端禁用了Cookie,或者不支持Cookie,则会话跟踪会失效

假如客户端浏览器不支持Cookie,需要运用Session以及URL地址重写。需要注意的是一切的用到Session程序的URL都要进行URL地址重写,否则Session会话跟踪还会失效。

4、安全性不同

Cookie存储在客户端中,对客户端是可见的,客户端的一些程序可能被修改Cookie中的内容。

Session存储在服务器上,对客户端是透明的,不存在敏感信息泄露的风险

5、跨域支持的不同

Cookie支持跨域名访问
Session则不会支持跨域名访问,仅在他所在的域名内有效

6、存储的时间有效期不同

有效时间以10分钟为例
cookie的生命周期是累计的,从创建时,就开始计时,10分钟后,cookie生命周期结束
session的生命周期是间隔的,从创建时,开始计时如在10分钟,没有访问session,那么session生命周期被销毁