session(会话)

session是用户使用web应用请求服务的时候,在服务器端生成的一次会话证明,这个证明会临时保存在服务器端,当用户离开网站或浏览器结束web访问的时候就会被销毁。

服务器为了区分当前向自己请求服务的是谁,给每个用户分发了一个唯一的“身份标识”(也就是sessionID),当用户使用客户端向服务端发送请求的时候,需要携带该sessionID才能正确请求到服务。

浏览器和服务器使用session进行交互的过程

cookie是在浏览器客户端存储的一种数据。cookie由服务器生成,发送给浏览器,浏览器把它以文件的形式保存在浏览器的某个目录中。在下一次请求同一网站的时候浏览器会把该cookie发送给服务器,由服务器使用用户名和口令对cookie进行验证。

cookie的请求流程

token(令牌)

token 也称作令牌,由uid+time+sign[+固定参数]加密后生成。

token 的认证方式类似于临时的证书签名, 并且是一种服务端无状态的认证方式。所谓无状态就是服

务端并不会保存身份认证相关的数据。

组成

  • uid: 用户唯一身份标识
  • time: 当前时间的时间戳
  • sign: 签名, 使用 hash/encrypt 压缩成定长的十六进制字符串,以防止第三方恶意拼接
  • 固定参数(可选): 将一些常用的固定参数加入到 token 中是为了避免重复查库

token认证过程