web&Request

关于Token、Session、Cookie的区别

2021-06-16  本文已影响0人  Gakki0725
作者:Gakki

1. Cookie 与 Session

1.1 什么是 Cookie

1.2 Cookie 是怎样生成的

  1. 客户端会发送一个 HTTP 请求到服务器
  2. 服务器接收客户端发来的请求后,返回一个响应头( HTTP Response )给客户端,并且在响应头中设置 Set-Cookie 的字段
  3. 客户端保存 Cookie,之后客户端再向服务器发送请求时,HTTP Request 请求中会包含一个 Cookie 的头部
  4. 服务器接收请求,分解 Cookie,验证信息,核对成功后返回 HTTP Response 响应给客户端
客户端与服务端的 Cookie 流程图 用户将商品加入购物车
  1. 仔细观察我们可以看出,随着购物车内商品数量的增多,服务器每次请求传的 Cookie 也会越来越大,这对之后服务器发送的每个请求来说负担都是很大的。

1.3 什么是 Session

1.4 Session 是怎样生成的

  1. 用户第一次请求服务器的时候,服务器会根据用户提交的信息,创建相应的 Session ,返回响应的时候将 Session 的唯一标识信息 SessionId 返回给浏览器
  2. 浏览器接收到服务器返回的 SessionId 信息后,会将此信息存储到 Cookie 中,同时,记录 SessionId 属于哪一个域名
  3. 当用户再次访问服务器的时候,请求会自动判断此域名下是否存在 Cookie 信息,如果有会自动将 Cookie 信息也发送给服务端,服务端会从 Cookie 中获取 SessionId ,再根据SessionId 查找对应的 Session 信息,如果没有找到说明用户没有登录或者登录失效。如果找到 Session,证明用户已经登录可以执行后面的操作。
Session 的生成 用户将商品加入购物车

1.5 Cookie 与 Session 的相同与不同之处

1.6 浏览器禁止 Cookie

2. Token

2.1 什么是 Token 以及是怎样生成的

Token 的生成过程

2.2 Token 的优势

2.3 Token 与 Session 的区别

杂谈

上一篇 下一篇

猜你喜欢

热点阅读