Session,cookie,token的区别

1,数据类型和数据量不同

  1. cookie中只能保管ASCII字符串,cookie存储的数量也有限制,只能存储几十个,不超过4k(4096左右的字符),(很多浏览器一个站点最多保存20个cookie)
  2. Session对象没有对存储的数据量的限制,其中可以保存更为复杂的数据类型
  3. Token也没有存储的数据量的限制,支持多种数据类型

2,安全性

  1. cookie存储在客户端阅读器中,对客户端可见,客户端的一些程序可能还会窥探,修改cookie中的内容
  2. Session存储在服务器中,对客户端是透明的,可以保护用户隐私不被泄露,是一种认证手段
  3. Token存储在客户端,有认证和授权两种手段,相比于session更加安全

3,有效期不同

  1. cookie长期有效,但是也可以设置cookie时间使cookie过期
  2. Session很容易失效,在用户访问结束后会自动消失,如果超时也会消失.(用完需要关闭,服务器累积的session过多,容易导致内存溢出)
  3. Token短期有效,但可以通过刷新得到新的token

4,服务器压力不同

  1. cookie对服务器压力小,session可能需要记录千百万用户的信息,对服务器的存储压力很大,会影响服务器性能
  2. 如果session内容过于复杂,当大量客户访问服务器还可能会导致内存溢出
  3. Token对服务器没有压力,服务器不需要记录任何东西,每次都是一个无状态的请求,每次都是通过解密来验证是否合法

5,跨域

(1)cookie不支持跨域访问

(2)Token支持跨域访问

6,其它

session一般是寄生在cookie下的,当cookie被禁止,session也被禁止,当然可以通过url重写来摆脱cookie

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值