Cookie
Http是无状态的协议,浏览器与服务器为了进行会话追踪,知道是谁在访问我,所以就使用了Cookie和Session来记录这种状态
Cookie存在于客户端,浏览器会在下一次请求的时候携带cookie
Session
基于Cookie实现
Session存在于服务器,jsessionid存在于客户端
jsessionid = xxx内存地址
Session执行流程
第一次请求访问,创建session
请求返回jsessionid到客户端
浏览器收到jsessionid,将此存入到cookie中
第二次访问的时候,会获取cookie中的的jsessionid,再根据jsessionid查找对应的session
Cookie和Session
都是用来记录浏览器与服务器的会话追踪
使用Session会创建Cookie,然后通过Cookie来存入Jsessionid,通过respon对象响应给回浏览器,request对象遍历所有cookie,解析出cookie中的jsessionid,通过jsessionid查找对应的session对象
Cookie存字符串,Session存任何类型
Cookie存储不能超4K,Session高于Cookie,但是Session存的越多会占用服务器资源
Token
访问接口资源时所需要的凭证
Token执行流程
第一次请求访问时,创建token将登陆凭证做数字签名,加密之后得到字符串作为token
客户端拿到token后保存到本地
客户端每次请求都需要将token放在请求头中
Token和Session
Token比Session安全
Token是唯一的,不允许转移到其他用户或其他App
Session将用户信息存入到Session里,只要拥有Jsessionid就可以拥有用户信息
JWT
认证授权机制,用来认证用户的身份信息
通过JSON形式作为WEB应用中的令牌
标头(Header) : 由两部分组成,会使用Base64编码组成JWT结构的第一部分
有效载荷(Payload) : 声明有关实体(通常是用户)和其他数据,使用Base64编码组成JWT结构的第二部分
签名(Signature) : 作用是保证JWT没有被篡改,对前两部分进行签名
Token和JWT
JWT是通过JSON形式存储,Token是通过加密后生成的字符串
JWT里的Payload存储用户数据,Token需要去数据库查询数据
JWT签发了之后在到期之前都会有效,不可控制删除
文章介绍了Http的无状态特性以及为保持状态引入的Cookie和Session机制,详细阐述了Cookie和Session的工作原理及区别。同时,讨论了Token的安全性和JWT(JSONWebTokens)在身份验证和授权中的作用,包括JWT的结构和优点。
992

被折叠的 条评论
为什么被折叠?



