每日Java学习_002

cookie、Session、Token的辨析

  • Cookie

    1. 定义:是存储在用户计算机浏览器目录上用来保持Web浏览状态的文本文件。
    2. 作用:识别用户的唯一身份
    3. 时效性:有非持久性性Cookie(有一个规定时间,保存在内存中,关闭浏览器消失),也有持久性Cookie(保存在硬盘中,关闭浏览器后不消失)
    4. 使用限制:在第一次Http请求时就要进行设置
    5. 执行流程图:
    6. 【推荐】OKHttp框架:它会在创建OKHttpClient实例时,设置CookieJar / 拦截器自动管理Cookie

      一个浏览器最多创建300个Cookie,每个不超过4KB。 一个Web站点最多创建20个Cookie

  • Session

    1. 定义:在服务器端生成并保存,用于标志客户端连接的一种文件,在一次Http请求时会发给客户端,保存为临时性Cookie。在第二次Http请求时携带上这个Cookie,与服务器端的做比对,就可以解决Http协议的无连接问题了
  • Token(令牌)

    1. 定义:用户身份验证的方式
    2. 组成:uid + time + sign
    3. 使用规则:在第一次登陆成功后,服务器端会生成一个Token,并在一次Http请求中发给客户端,保存在客户端中。当客户端再次请求时,将保存在本地的Token发给服务器,与服务器的Token进行比对。此时会有3种结果
      • 相同:保持登陆状态
      • 没有:未登陆成功
      • 不同:登陆失效了

作者:Clement-阿五


  目录