- cookie:用户登录后,服务器生成一个cookie返回,并要求浏览器set-cookie,存储一下,下次访问时带上cookie,即可区分用户
- cookie可以被篡改
- session: 信息存储在服务端,客户端cookie中存一个session id
- 服务端有额外的存储成本
- 负载均衡需要考虑session共享
- 查询session是查库操作,耗时高
- jwt
- 用户认证之后发一个带签名防篡改的token给用户,用户后续请求带上这个token
- jwt有Header约定加密算法,Payload保存用户信息,Signature将Header,Payload,和密钥拼在一起用加密算法加密,形成一个base64字符串
- 后续请求的时候在Header里面填上jwt