先了解基于token的认证和传统的session认证的区别
1、session认证
什么是cookies和session?
cookies浏览器会话技术,用来存储信息sessionid
session是服务器端的缓存技术
浏览器端的缓存技术,为了辨别用户身份,进行session跟踪而存储在用户本地终端上的数据。
HTTP协议 无连接和无状态的特性,是cookies和session产生的原因,用户向服务器提供用户名和密码来进行用户认证,因为http协议,每次认证的时候,无法获知是那个用户发动的请求,为了解决这个问题,服务器端存储用户登录信息,这些信息在响应的时传递给浏览器,浏览器将信息保存为cookie,浏览器再次发送请求时,就能根据sessionid识别是哪个用户。
- cookies是保存在客户端的一组识别信息(例如会员卡)
- cookies和session通过sessionid关联
- 当客户机登录成功后,关闭了相关页面,一段时间以内(没有到超时时间),再次访问相关网页,浏览器会自动携带响应的cookies信息(主要是包含sessionid),并发送给服务器,服务器检测相应的 sessionid的超时状态,如果没超时,按照已登录提供服务。
- 使用cookies实现免登录
在浏览器调试的时候:
请求的响应头里面的Set-Cookie是服务器发给客户端,用来设置客户端下次请求Cookie内容