1、存储位置:
cookie数据存放在浏览器上,session数据存放在服务器上。
2、安全性
cookie相对来说没有session安全,因为别人可以通过分析cookie来进行cookie欺骗;(当然我们可以加密解密cookie)因此一般情况下登录等重要信息应采用session。
3、性能
session会在一定时间内保存在服务器上,因此当访问增大时,会影响服务器的性能,而cookie则不存在该情况。
4、大小限制
cookie有大小限制(不能超过4k),很多浏览器会限制一个站点最多保存20个cookie,而session的大小则只以硬件为限制。
5、存取方式
cookie中只能保管ASCII字符串,假如需求存取Unicode字符或者二进制数据,需求先进行编码。
而Session中能够存取任何类型的数据,包括而不限于String、Integer、List、Map等,运用起来十分方便。
6、跨域支持
cookie支持部分跨域名访问,跨域名Cookie如今被普遍用在网络中,例如Google、Baidu、Sina等。而Session则不会支持跨域名访问。Session仅在他所在的域名内有效。
7、生命周期
(以20分钟为例)
(1)cookie的生命周期是累计的,从创建时,就开始计时,20分钟后,cookie生命周期结束,
(2)session的生命周期是间隔的,从创建时,开始计时如在20分钟,没有访问session,那么session生命周期被销毁
但是,如果在20分钟内(如在第19分钟时)访问过session,那么,将重新计算session的生命周期
(3)关机会造成session生命周期的结束,但是对cookie没有影响