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生命周期被销毁