有篇博客写的很好https://www.cnblogs.com/moyand/p/9047978.html
h
t
t
p
是
无
状
态
的
\orange{http是无状态的}
http是无状态的,所以第一次和服务器连接后,第二次请求仍然不能确认当前请求是哪个用户。
c
o
o
k
i
e
和
s
e
s
s
i
o
n
就
是
解
决
h
t
t
p
无
状
态
问
题
\blue{cookie和session就是解决http无状态问题}
cookie和session就是解决http无状态问题
第一次http连接后,服务器返回cookie给浏览器,保存在本地,当第二次请求时,再将cookie发送给服务器。
s e s s i o n 存 储 在 服 务 器 。 \orange{session存储在服务器。} session存储在服务器。
session有两种主流方式。1,session存储在服务端,cookie只存储一个session的id。2,session加密后存储在cookie中。flask采用这种方式。
但是,用户A第一次访问在服务器A,第二次访问在服务器B,那么岂不是服务器A和B都要存储用户A的session?
t
o
k
e
n
解
决
s
e
s
s
i
o
n
负
载
均
衡
问
题
\orange{token解决session负载均衡问题}
token解决session负载均衡问题
服务器不保存token,在用户第一次访问时,使用加密算法将用户浏览器IP用户名密码等信息加密后发回给客户端,加密密钥只有服务器有。
之后每一次访问只需要验证token即可。