Cookie、session、token的区别

Cookie、session、token都是为了解决http无状态得这个缺点而出现的,都是服务端返回的,用来鉴权的。cookie是保存在客户端的,不安全。有被非法用户截取的风险。

cookie是保存在浏览器的缓存中的,过期时间是服务器端来确定的,只要浏览器关了,就会失效。也可以本地持久化保存。
比如客户端发一个请求给服务器端,服务器端会在响应头的setcookie字段中返回cookie,个数由编程人员确定,没有限制,包括cookie的名字,value,域,路径,过期时间。

而session呢,是保存在服务器端的,通过cookie来传递的。比如客户端发请求过来,服务器端会把sessionid放在setcookie中,返回给客户端,客户端进行登录请求时,就会带着这个值,服务器拿到以后,这里先说下,服务器端对session保存的方式有两种,一种是存在一个文件中,一种是放在数据库中。服务器拿到客户端发来的sessionid到自己本地去找对应的sessionid,然后验证该sessionid关键的用户是不是这个请求的客户端,是的话,就给响应。
但是这样会有一个问题,如果有几亿用户同时发请求,那么服务器需要保存几亿用户的sessionid,所以对服务器的性能造成了严重的压力。

Token的出现可以解决微服务部署的跨域访问问题。
用户登录请求到一个专门的认证服务上进行认证,认证成功以后,返回通过加密后的token,客户端拿到之后,保存,下次还是这个用户访问的时候,就会带着这个token进行请求,被请求得服务拿着这个token去认证中心看下是不是该用户的,是,那么就给通过,返回响应结果。

Token的有效时间:
①15分钟以内
②一般15天

这个值可以配置。

总结:
cookie是保存在客户端
session是保存在服务器端
token是服务器端通过JWT生成,保存在客户端

session和token都是通过cookie作为载体进行传递的。

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

如梦@_@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值