38.cookie,seeion,token

63 阅读2分钟

这一块应该也是归属于网络内容,之前更新的时候漏掉了. http是无状态协议,但是我们有时候游览器和客户端在通信时需要证明自己的身份,于是就有了各种通行证来证明身份

cookie

  • 服务端生成,发送给客户端.
  • 客户端头部信息中,每次请求携带token证明身份.
  • Cookie是一段不超过4KB的小型文本数据,由一个名称(Name)、一个值(Value)和其它几个用于控制Cookie有效期、安全性、Expires.max-age设置Cookie的生存期.Domain指定了可以访问该 Cookie 的 Web 站点或域

session

基于cookie的存储特定用户会话所需的属性及配置信息.是另一种记录服务器和客户端会话状态的机制. session 存储在服务器端,sessionId 会被存储到客户端的cookie 中.用户第一次请求服务器的时候,服务器根据用户提交的相关信息,创建对应的 Session 请求返回时将此 Session 的唯一标识信息 SessionID 返回给浏览器 浏览器接收到服务器返回的 SessionID 信息后,会将此信息存入到 Cookie 中,同时 Cookie 记录此 SessionID 属于哪个域名 当用户第二次访问服务器的时候,请求会自动判断此域名下是否存在 Cookie 信息,如果存在自动将 Cookie 信息也发送给服务端,服务端会从 Cookie 中获取 SessionID,再根据 SessionID 查找对应的 Session 信息,如果没有找到说明用户没有登录或者登录失效,如果找到 Session 证明用户已经登录可执行后面操作。

token

身份令牌,现在很多身份验证都是通过token来完成了,客户端登录,传输账号密码给后端,后端验证账号密码是否正确,验证成功后会签发一个token给客户端,客户端收到token后储存起来,再需要权限的接口中,一般在请求头中新增Authorization字段