Cookie Session Token

2 min

:bookmark_tabs:前言

  • 由于http的无状态性,导致后来的请求不知道前面请求发生了什么
    • 结果导致有些需要登录才可以的请求现在没有验证的方式
    • 引出下面几种常见的解决方法

cookie

存哪里

  • 客户端浏览器

引用参考文档

  • 在提供标记的接口,通过 HTTP 返回头的 Set-Cookie 字段,直接「种」到浏览器上

  • 浏览器发起请求时,会自动把 cookie 通过 HTTP 请求头的 Cookie 字段,带给接口

    • 限制

      • 配置:Domain / Path

        你不能拿清华的校园卡进北大。

      • 配置:Expires / Max-Age

        你毕业了卡就不好使了。

session

存哪里

  • 服务器中

img

token

token——为什么不把session 可查询的内容,直接打包到 cookie 中呢?这样服务端不用存了,每次只要核验 cookie 带的「证件」有效性就可以了,也可以携带一些轻量的信息。这就是token。

1. 存哪里

  • 直接放在cookie里

2. 如何验证有效性

  • 加签名

    • 消息用base64编码后,再加上签名的内容,达到无法仿照的目的。

      img

:headphones:进化:JWT

参考文档