1、存储位置不同
- Cookie存储在客户端
- Session存储在服务器端
2、存储大小不同
- 单个Cookie保存的数据<=4kb,一个站点最多保存20个cookie
- 对于Session来说并没有上线,但出于对服务器性能的考虑,尽量不要设置过多的session在服务器上
3、存储方式不同
- cookie是以AscII码存储
- session可以是json、等
4、隐私策略不同
- cookie对用户来说可以看见,对不法份子设置cookie欺诈
- session存储在服务器上对用户是不可见的
5、服务器压力不同
- cookie保存在客户端,不占用服务器资源,对于并发用户十分多的用户cookie是一个很好的选择
- session存储在服务器上,每个用户都会产生一个session,对于用户量非常多的网站,会产生很多的session,十分占用服务器内存
6、有效期不同
- 开发可以通过设置cookie的属性,达到使cookie长期有效
- session依赖于JSESSIONID的cookie,而cookie JSESSIONID的过期时间默认为-1,只需关闭窗口该session就会失效,因而session不能达到长期有效的效果。
7、浏览器支持不同
假如客户端浏览器不支持cookie:
- cookie是需要客户端浏览器支持的,假如客户端禁用了cookie,或者不支持cookie,则会话跟踪会失效。关于WAP上的应用,常规的cookie就派不上用场了。
- 运用session需要使用URL地址重写的方式。一切用到session程序的URL都要进行URL地址重写,否则session会话跟踪还会失效。
假如客户端支持cookie:
- cookie既能够设为本浏览器窗口以及子窗口内有效,也能够设为一切窗口内有效。
- session只能在本窗口以及子窗口内有效。
8、跨域支持上不同
- cookie支持跨域名访问。
- session不支持跨域名访问。