Cookie基本流程
-
浏览器发起http请求
-
服务器会进行cookie设置(Set-Cookie)并发给浏览器储存 cookie中有 name 和 value 两种属性
-
浏览器之后的http请求都会附上这个cookie
简单说cookie就是一种存储在浏览器的数据,不安全
Session(会话)
以登录bilibili举例
-
浏览器使用用户名和密码发送给服务器
-
服务器身份认证成功后创建一个Session ID(无规律字符串)和会话结束时间以及其他参数并保存在服务器,并用cookie的方式发送给浏览器,此时会话结束时间就是cookie的有效期
可以理解为绑定了一个临时账户,这时候黑客是可以尝试拿到这个session id尝试进行登录账号的,但是无法得知该账号的用户名和密码,因此意义不大。
session存储在服务器
Token
-
浏览器使用用户名和密码发送给服务器
-
服务器生成一个JWT发送给浏览器,但服务器自身不保存JWT,只保存一个JWT签名密文
浏览器以storage或者cookie的方式存储JWT
Token存储在浏览器