左边 浏览器 右边 服务器
浏览器发送请求 服务器接收请求 并生成cookie
浏览器查看保存了哪些cookie
用户名密码放在cookie是很不安全的 因为浏览器一旦被攻击泄露 是很危险的
接着诞生了session 会话
sessionID (一段杂乱的字母标识) 会话结束时间
cookie核心特点 每个请求都会发送cookie到服务器上
删除cookie就是会话结束了 cookie失效之后用户要重新输入用户名和密码
整体流程:
随着互联网的发展 用户登录数量不断增多
无法在一个服务器上记录大量的sessionID
即使可以多个服务器上记录sessionID但是服务器之间还需要共享SessionID
那么还可以在数据库上记录sessioID 但是如果数据库崩溃了 就影响浏览器获取用户信息
所以出现了JWT (JSON WEB TOKEN )
整体流程:
与session很像 只不过token存储在用户端 以cookie或者storage形式存储
JWT由下面三个部分组成:
header和payload经过Base64编码 然后再由header里面指定的算法 生成签名也就是signature 上图就是一个完整的jwt
发送用户名密码 就会 返回一段字符串 即token
发送vip请求 携带token 就可以实现无需输入用户名密码就可以登录使用服务的功能
总结 : cookie只是数据的载体 随着http携带sessionid
sessionID由服务器生成 保存在服务器中 而 token由服务器生成但保存在浏览器中以cookie或者storage的形式
session在服务器端叫session 在浏览器端就 叫cookie