session与token简单区别

本文对比了Session和Token两种用户身份验证机制。Session存储于服务器端,适用于单一服务器环境;Token存储于客户端,支持分布式环境,常见于现代Web应用。

Session机制

Session是存储在服务端的,每次请求客户端Cookie中携带sessionId,服务器进行验证,sessio是有状态的。
缺点:如果服务器做了负载均衡有多个,用户的请求到达某个服务器时,这个服务器没有用户的session信息,就会会话失败。所以Session默认机制下是不适合分布式部署的。

Token

Token我们一般称为令牌,一般通过MD5、SHA算法将密钥、公钥、时间戳等元素加密产生的加密字符串。

浏览器访问服务器后认证成功会返回token给客户端,客户端后续请求会携带这个token给服务器进行验证。

Session与Token的异同

Session和Token机制原理上差不多,都是用户身份验证的一种识别手段,它们都有过期时间的限制,但两者又有一些不同的地方。

1、Session是存放在服务器端的,可以保存在:内存、数据库、NoSQL中。它采用空间换时间的策略来进行身份识别,若Session没有持久化落地存储,一旦服务器重启,Session数据会丢失。

2、Token是放在客户端存储的,采用了时间换空间策略,它也是无状态的,所以在分布式环境中应用广泛。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值