1、存储角度:
Session 是服务器端的数据存储技术,cookie 是客户端的数据存储技术;
2、解决问题角度:
Session 解决的是一个用户不同请求的数据共享问题,cookie 解决的是不同请求的请求数据的共享问题;
3、生命周期角度:
Session 的 id 是依赖于 cookie 来进行存储的,浏览器关闭 id 就会失效;Cookie 可以单独的设置其在浏览器的存储时间;
4、安全角度:
不要在 cookie中存放敏感信息,考虑安全应当使用session,可以考虑将登陆信息等重要信息存放Session;
5、服务器性能:
session会在一定时间内保存在服务器上,当访问增多,会比较占用服务器性能,考虑到服务器性能方面,应把不是用户敏感的信息保存到cookie;
6、cookie 存储的数据量有限(4k),不能将过多的内容存储 cookie中;浏览器通常只允许一个站点最多存放 20 个 cookie。
总结:
cookie : 客户端 不安全 只保存字符串 有大小限制
session : 服务端 安全 保存对象 没有数据大小限制