简述一下cookie、session以及token的区别

相同都是用来签权服务器的,不同的是主要是存储位置和存储容量

cookie数据存放在客户的浏览器上、session数据放在服务器内存上、token存储在服务器数据库上

cookie 单个<4kb,不超过20个;session不限制

token是接口测试时鉴权码,其实也就是一个字符串,一般情况下登陆后才可以获取到token,

安全性上在每次请求接口时需要带上token参数,cookie不安全,别人可以分析存在本地的cookie并进行cookie欺骗,考虑到安全应当使用session 可以将登录信息等重要信息存放为session,其他信息可以保存在cookie

一般App测试会通过token方式测试性能,通过数据库导出token,然后并发登录用户

---

具体讲解:

相同点:都是用于签权并且全是服务器生成的,

不同点:(存储位置不同、存储容量不同)

  • 1.存储位置不同:Cookie是将用户数据通过加密的方式保存在客户端,大多数情况Cookie存储在浏览器;Session是用于控制客户端和服务端的连接,Session存储在服务器的内存;token存储在服务器的数据库里面,通过通过一个接口或通过登录获取,然后后续所有的接口都必须要传token才可以请求成功.
  • 2.存储容量不同:单个Cookie保存的数据不得超过4kb,一个站点最多20个Cookie,Session一般情况下没有上限,不过建议不要存放太多东西,否则影响性能;
  • 3.存取方式不同:Cookie只能用ASCII字符串,通过编码方式获取Unicode字符或者二进制数据,不好存储复杂的信息,而Session能存储任何类型的数据;
  • 4.隐私策略/安全性不同:Cookie放在客户端,可以进行Cookie欺骗,所以不安全,Session放在服务端,更加安全;
  • 5.有效期不同:Cookie可以设置属性达到长期有效,Session依赖于JSESSIONID的Cookie,Cookie JSESSIONID的过期时间默认为-1,只需要关闭窗口Session就会失效,就算不依赖Cookie,用UrL重写也不能完成,如果Session超时时间过长,容易导致内存溢出;
  • 6.服务器压力不同:Cookie保存在本地,不存在服务端压力,Session保存在服务端,每个用户产生一个Session,当访问增多,会比较占用服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用Cookie;
  • 7.浏览器支持不同:如果浏览器禁用Cookie,那么Cookie直接失效,Session比较好点,可以用URL重写;
  • 8.Cookie和Session应用的场景:Cookie一般用于记住用户的登录状态,如记录用户的习惯,购物车;而Session用于登录验证。

token和session分别用来做什么:

  • token是令牌,其实就是一个字符串,主要是用来我们客户端身份认证的。登录后,服务器会返回这个token,客户端需要把这个token存起来,后续请求这些接口的时候,需要在请求中携带这个token值,只有服务端对token交易通过后才能去访问
  • Requests中的Session会话管理的作用就是自动的记录cookie和sesion的登录状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值