session
用户状态存服务端
缺点:
1)由于session 维护在服务器,登录的人一多就服务器压力很大
2)单机ok fine;多机信息同步不方便
3)session+cookie 存在 csrf 风险(当然有解决方案)
token
用户信息加密后传给前端,每次请求带上
token 大名鼎鼎的 jwt
json web token令牌
一旦发送出去,登录信息服务端无法强行作废
JWT
首先这个先说这个东西是什么,干什么用的,一句话说:就是这是一种认证机制,让后台知道请求是来自于受信的客户端。
那么从这个角度而言,这个东西跟浏览器的cookie是一个作用,好比我在一个网站登录了,就可以往这个网站发送restful请求,请求的同时会捎带上cookie,后台检查这个cookie发现你是合法的,才响应你的请求。
只不过这里JWT的原理不同,但基本上最顶层的原理还是非常简单:
这个图中有三个主体: user, application server和authentication server