jwt vs session

本文探讨了Session和Token在可扩展性、安全性、RESTful兼容性、性能及实效性方面的区别。指出Token在多服务器环境下的优势,而Session则在单一服务器应用中表现良好。此外,文章还讨论了JWT的安全性、性能开销以及如何通过数据库存储Token来增加其实效性的策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://cnodejs.org/topic/5b568ec12860af042a217822

https://juejin.im/post/5a437441f265da43294e54c3

1.可扩展性

session是有状态的,token是无状态的,所以如果多台服务器上的应用,单点登录,基于token 的验证是有优势的。

构建但服务器应用,不需要RESTful API的,那么session也不错。

2.安全性

jwt最好使用https

3.RESTful 

无状态,token更契合RESTful

4.性能

当数据少时没多大差别,但一旦claim多,开销比session大得多。所以session是有优势的。

(https://scotch.io/bar-talk/why-jwts-suck-as-session-tokens        )

If we store the ID in a cookie, the size is 6 bytes. If store the ID in a JWT ,the size has now inflated to 304 bytes.

5.实效性

session是可以手动删除的,这也是比token的优势。

解决办法:token存入数据库,可以实现token实效的功能,比如只能有一个用于登陆的状态,那么把token存入数据库,每次登陆更新token。

 

转载于:https://www.cnblogs.com/ybleeho/p/9706202.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值