
目的
由于HTTP请求无状态,需要借助额外的手段来验证用户身份
session id
方法
- 分配给用户session id作为标识
缺陷
- 服务器要存所有的session id
- 不适合分布式环境或负载均衡
token
组成
明文数据
签名
- 数据+加密算法+秘钥=签名
校验方式
- 服务端收到token后用秘钥+加密算法计算签名是否一致
- 利用计算时间换取存储空间
优势
跨程序调用
因为 用户的身份正确与否 是通过计算得出来的(无状态),不存在session id那样的分布式问题,所以扩展性(随意增加服务器)很好
无状态,可扩展
因为无状态,所以扩展性好
cookie
概念
- 浏览器提供的数据存储功能
- 由服务器生成,存储在客户端
- 每个域的cookie数量有限
PS:session,token都可以放在cookie中