session和jwt哪个更好
session和jwt
- session
- 优点
- 缺点
- jwt
- 优点
- 缺点
- 总结
session
优点
- 原理简单,易于学习。
- 用户信息存储在服务端,可以快速封禁某个用户。
缺点
- 占用服务端内存,硬件成本高。
- 多进程,多服务器时,不好同步-需要使用第三方缓存,如redis。
- 默认有跨域限制。
jwt
优点
- 不占用服务端内存
- 多进程,多服务器,不受影响
- 无跨域限制
缺点
- 用户信息存储在客户端,无法快速封禁某个用户。
- 万一服务端密钥被泄露,用户信息全部丢失。
- token体积一般大于cookie,会增加请求的数据量。
总结
- 如有严格管理用户信息的需求,推荐session。
- 如无特殊需求,使用jwt。
参考资料:前端面试第16题:session和jwt