缺点:
1 、 cookie 数量和长度有限。每个特定的域名下最多生成 20 个 cookie ,每个 cookie 长度不能超过 4KB
2 、额外开销。 cookie 在每次发起 HTTP 请求的时候都会被发送给服务器,会增加开销
优点:极高的扩展性和可用性
1、 通过良好的编程,可控制保存 cookie 中的 session 对象的大小。
2、 通过加密和安全传输技术( SSL ),可减少 cookie 被破解的可能性。
3、 只在 cookie 中存放不敏感数据,即使被盗也不会有重大损失。
4、cookie 的生命期可控。通过控制 cookie 的生命期,使之不会永远有效
缺点:1、cookie 有大小限制、每条cookie不能超过4kb。2、cookies存在安全性问题、有可能被篡改。3、有些数据不能存在客户端、例如表单不能重复提交。4、cookie每次发送数据都会发送给服务端、造成不必要的浪费
1、存储空间角度,单个域名下Cookie一般限制大小为4k,能存储的数据量太小
2、每次请求都会带上全部Cookie,并不能有选择性的携带,浪费流量和性能
3、Cookie在传递过程中,是明文的,容易被劫持以及篡改
4、如果服务端没设置http-only的话,在客户端使用js直接就能获取到服务端设置的cookie
1) 数据持久性。
2) 不需要任何服务器资源。 Cookie 存储在客户端并在发送后由服务器读取。
3) 可配置到期规则。 控制 cookie 的生命期,使之不会永远有效。偷盗者很可能拿到一个过期的 cookie 。
4) 简单性。 基于文本的轻量结构。
5) 通过良好的编程,控制保存在 cookie 中的 session 对象的大小。
6) 通过加密和安全传输技术( SSL ),减少 cookie 被破解的可能性。
7) 只在 cookie 中存放不敏感数据,即使被盗也不会有重大损失。
1) Cookie 数量和长度的限制 。
数量:每个域的 cookie 总数有限。
a) IE6 或更低版本最多 20 个 cookie
b) IE7 和之后的版本最后可以有 50 个 cookie
c) Firefox 最多 50 个 cookie
d) chrome 和 Safari 没有做硬性限制
长度:每个 cookie 长度不超过 4KB ( 4096B ),否则会被截掉。
2) 潜在的安全风险 。 Cookie 可能被拦截、篡改。如果 cookie 被拦截,就有可能取得所有的 session 信息。
3) 用户配置为禁用 。有些用户禁用了浏览器或客户端设备接受 cookie 的能力,因此限制了这一功能。
4) 有些状态不可能保存在客户端 。例如,为了防止重复提交表单,我们需要在服务器端保存一个计数器。如果我们把这个计数器保存在客户端,那么它起不到任何作用。