token是json web token (鉴权), 主要是解决会话保持.
cookie和session相同点: 都是k/v格式
cookie:
1. 保存在浏览器(客户端),
1. Cookie 是不安全的,是明文
1. 默认有效期14天, 默认大小4k
sesesion:
1. sessionid 对应的数据保存在服务端, sessionID是服务端生成,返回给客户端,让浏览器保存, 一般浏览器会保存在cookie中(key:value)
2. 相对安全, 加密的
3. Session 是根据设定的, 默认无限制,根据服务器的性能决定
使用session时会有一个session共享的问题? 可以使用redis实现数据共享, 但是需要配置; 6亿**1k=600g 500m
2. TOKEN
1. header:
包含是: token的标识, 要使用的加密算法(HS256)
2. Payload(载荷)
用户信息, 但是不能存放敏感信息(比如密码)
3. 签证
用来加密的, 把前两部分使用base64编码后的字符串,进行拼接然后再使用header中声明的加密算法进行加密, 加密时还需要一个随机数(“盐”,salt)把第三部分和前两部分再次加密成第三部分, 然后再和前两部分进行拼接