token vs session

本文探讨了Session和Token两种状态保持机制的功能、原理及其优缺点。Session在服务器端存储用户信息,依赖Cookie,易受CSRF攻击且扩展性不佳。而Token通过加密数据并存储在LocalStorage中,解决了Session的扩展性问题,但安全性仍需关注。对于高并发和分布式环境,Token通常更为合适。
摘要由CSDN通过智能技术生成

token vs session

功能上都是用来保持会话

session是服务器端存储来访用户信息从而保持会话的对象。服务器重启session消失。基于cookie

session状态保持原理

一段话概括:用户拿着数据访问服务器后,服务器会将数据写入session,返回给浏览器sessionid;用户再次通过浏览器访问服务器时会携带sessionid,服务器通过sessionid在session中获取数据,返回给浏览器用户信息,以此实现状态保持。

弊端:

1、服务器压力增大

因为session是存储在内存中,所以用户量越大所占内存就越大

2、易受CSRF跨站伪造请求攻击

session是基于cookie进行用户识别的, cookie如果被截获,用户就会很容易受到跨站请求伪造的攻击。

3、扩展性不强

如果将来搭建了多个服务器,虽然每个服务器都执行的是同样的业务逻辑,但是session数据是保存在内存中的(不是共享的),用户第一次访问的是服务器1,当用户再次请求时可能访问的是另外一台服务器2,服务器2获取不到session信息,就判定用户没有登陆过。

token状态保持原理

一句话概括:用户拿着数据访问服务器后,服务器将数据加密生成token返回给浏览器,浏览器将token值存储在Local Storage中(由JS调取),用户再次通过浏览器访问服务器时会携带token值,服务器解密token,查询到数据后返回给浏览器用户信息,以此实现状态保持。

因为服务器只是做了token解密与用户数据查询,所以多台服务器同时工作也不会出问题;没有session 的扩展性问题

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值