1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
分布式环境下的session(举例两种):
服务器session复制
原理: 任何一个服务器上的session发生改变(增删改),该节点会把这个 session的所有内容序列化,然后广播给所有其它节点,不管其他服务器需不需要session,以此来保证Session同步。
优点: 可容错,各个服务器间session能够实时响应。
缺点: 会对网络负荷造成一定压力,如果session量大的话可能会造成网络堵塞,拖慢服务器性能。
session共享机制
使用分布式缓存方案比如memcached、redis,但是要求Memcached或Redis必须是集群。