http,session,cookie,token

  • http是无状态的协议,什么是无状态的协议?

如果浏览器请求服务器,上一次的请求和下一次的请求没有关系,互不认识的,没有关联的。

这种无状态的好处就是速度块。坏处是假如我们想要把www.zhihu.com/login.htmlwww.zhihu.com/index.html关联起来,必须使用某些手段和工具。

  • Session,会话。
    • 首先,客户端会发送一个http请求到服务器端。
    • 服务器端接受客户端请求后,建立一个session,并发送一个http响应到客户端,这个响应头,其中就包含Set-Cookie头部。该头部包含了sessionId。Set-Cookie格式如下,具体请看Cookie详解
      Set-Cookie: value[; expires=date][; domain=domain][; path=path][; secure]
    • 在客户端发起的第二次请求,假如服务器给了set-Cookie,浏览器会自动在请求头中添加cookie
    • 服务器接收请求,分解cookie,验证信息,核对成功后返回response给客户端

token

token 也称作令牌,由uid+time+sign[+固定参数]
token 的认证方式类似于临时的证书签名, 并且是一种服务端无状态的认证方式, 非常适合于 REST API 的场景. 所谓无状态就是服务端并不会保存身份认证相关的数据。

原文地址:https://www.cnblogs.com/hamish26/p/12317287.html