cookie、Session、Token的辨析
Cookie
- 定义:是存储在用户计算机浏览器目录上用来保持Web浏览状态的文本文件。
- 作用:识别用户的唯一身份
- 时效性:有非持久性性Cookie(有一个规定时间,保存在内存中,关闭浏览器消失),也有持久性Cookie(保存在硬盘中,关闭浏览器后不消失)
- 使用限制:在第一次Http请求时就要进行设置
- 执行流程图:
- 【推荐】OKHttp框架:它会在创建OKHttpClient实例时,设置CookieJar / 拦截器自动管理Cookie
一个浏览器最多创建300个Cookie,每个不超过4KB。 一个Web站点最多创建20个Cookie
Session
- 定义:在服务器端生成并保存,用于标志客户端连接的一种文件,在一次Http请求时会发给客户端,保存为临时性Cookie。在第二次Http请求时携带上这个Cookie,与服务器端的做比对,就可以解决Http协议的无连接问题了
Token(令牌)
- 定义:用户身份验证的方式
- 组成:uid + time + sign
- 使用规则:在第一次登陆成功后,服务器端会生成一个Token,并在一次Http请求中发给客户端,保存在客户端中。当客户端再次请求时,将保存在本地的Token发给服务器,与服务器的Token进行比对。此时会有3种结果
- 相同:保持登陆状态
- 没有:未登陆成功
- 不同:登陆失效了
作者:Clement-阿五