会话跟踪技术

目录

  • 会话跟踪
  • JWT令牌

会话跟踪

  1. 会话:浏览器和服务器的一次链接称为会话,一次会话中可以包含多次请求
  2. 会话跟踪:一种维护浏览器状态的方法,服务器需要识别多次请求是否来自同一个浏览器,以便在同一次会话的多次请求之间共享数据
  • 客户端会话跟踪:Cookie
    • 一种http协议支持的技术:在第一次客户端请求服务器时,服务器自动将生成的Cookie通过响应头响应给客户端,客户端自动存储响应头中的Cookie,客户端在发起后续请求时自动通过请求头将Cookie携带到服务器端,服务器端判断Cookie中的值是否存在;Cookie中存储了一次会话中多次请求可以共享的信息
    • 移动端无法使用Cookie;存储在浏览器客户端,不安全,用户可以自己禁用Cookie;Cookie不能跨域
      • 跨域:两次请求的协议、Ip/域名、端口有任一存在差异,则称为跨域
  • 服务器会话跟踪:Session
    • 底层基于Cookie实现的技术:在第一次客户端请求服务器时,服务器将生成Session,并通过Cookie将Session的id响应给客户端,客户端将Session的id存储起来,然后在后续请求中通过Cookie将Session的id携带给服务器,服务器根据id从众多Session中找到当前请求对应的会话对象;Session中存储了一次会话中多次请求可以共享的信息
    • 存储在服务端,安全,但是在服务器是集群的环境下无法使用(因为不同Session存储在不同服务器);存在Cookie同样的缺点,
  • 令牌技术(企业项目常用)
    • 客户端第一次请求时服务端生成令牌(本质是字符串),服务端将令牌响应给客户端,客户端后续请求中携带令牌到服务端,服务端校验令牌的有效性;令牌可以存储在客户端的任何存储介质中(不是非要保存在Cookie)
    • 支持PC端、移动端;解决了集群环境下的认证问题;减轻服务器的存储压力;但是生成令牌、响应令牌、存储令牌、携带令牌、校验令牌等都需要自己实现

注:如何查看浏览器本地存储的Cookie、Session

JWT令牌

JSON Web Token:定义了一种简洁的、自包含的json格式,用于在通信双方以json数据格式安全地传输信息。由于存在数字签名,这些信息是可靠的(本质上是对原始的json格式进行了安全封装)

  • 自包含:可以根据需要在json中存自定义的信息


    浏览器访问登录请求成功后,服务器生成JWT令牌返回给浏览器,浏览器将令牌存储在本地的,并在后续的请求Header的token字段中携带令牌,服务器通过过滤器Filter拦击浏览器对资源的请求,在浏览器中做校验令牌的操作,校验通过则放行请求
posted @ 2024-12-22 09:10  Locho  阅读(41)  评论(0)    收藏  举报