cookie | session | |
存储位置 | cookie的数据信息存放在客户端浏览器上 | session的数据信息存放在服务器上 |
存储容量 | 单个cookie保存的数据<=4KB,一个站点最多保存20个Cookie | 对于session来说并没有上限,但出于对服务器端的性能考虑,session内不要存放过多的东西,并且设置session删除机制 |
存储方式 | cookie中只能保管ASCII字符串,并需要通过编码方式存储为Unicode字符或者二进制数据 | session中能够存储任何类型的数据,包括且不限于string,integer,list,map等 |
隐私策略 | cookie对客户端是可见的,别有用心的人可以分析存放在本地的cookie并进行cookie欺骗,所以它是不安全的 | session存储在服务器上,对客户端是透明对,不存在敏感信息泄漏的风险 |
有效期上 | 开发可以通过设置cookie的属性,达到使cookie长期有效的效果 | session依赖于名为JSESSIONID的cookie,而cookie JSESSIONID的过期时间默认为-1,只需关闭窗口该session就会失效,因而session不能达到长期有效的效果 |
浏览器支持 | cookie既能够设为本浏览器窗口以及子窗口内有效,也能够设为一切窗口内有效 | session只能在本窗口以及子窗口内有效 |
跨域支持 | cookie支持跨域名访问 | session不支持跨域名访问 |