cookie :虽然在持久保存客户端数据提供方便,分担了服务器存储的负担,但还是有很多局限性
第一:每个特定的域名下最多生成20个cookie (IE6或者更低版本最多,IE7和之后的版本最后可以有50个cookie,irefox最多有50个,chorme和Safari没有限制)
在IE提供了一种可以持久化用户数据,叫做userData,从IE5.0就开始支持。每个数据最多128K,每个域名下最多1M,这个持久化数据存放在缓存中,如果缓存没有清理,那么会一直存在。
优点:极高的扩展性和可用性
- 通过良好的编程,控制保存在cookie中的session对象大小
- 通过加密和安全传输技术(SSL),减少cookie被破解的可能性
- 只有在cookie中存放不敏感数据,即使被盗有不会有重大损失
- 控制cookie的生命周期,使之不会永远有效,偷盗者很可能拿到一个过期的cookie
缺点
数量和长度限制,每个domain(可以访问该Cookie的域名)最多只能有20条cokie,每个cookie长度不能超过4KB,否则会被拦截掉。
安全问题:如果cookie被人拦截了,那人就可以获取所有session数据,即使加密也没用,因为拦截者不知道cookie的意义,他只要原地转发cookie就可以达到目的
有些状态不能存在客户端:比如为了防止重复提交订单,我们需要在服务器保存一个计时器,如果放在客服端,就不起作用