浏览器登录的时候将用户名和密码发送给服务器,服务器返回一些标记信息,浏览器收到以后把这些标记信息都带上,这就是cookie(但是有安全问题)
为了解决安全问题可以同时发送数据签名,如果不想让服务的服务器保存太多数据,可以保存一个唯一key值sessionid,而客户端保存签名。
但是在移动互联网里面终端除了网页还有手机端等,所以我们把sesiionid换了一个名字变成token,token和session一样,为了遵循Bearer认证规范,客户端请求时不再使用cookie字段而是Authorization字段,session和token都是存在服务器里面。
每个数据所需要的签名都需要一个签名算法,而签名算法每个人可能不同,所以JWT就是一个签名算法的标准,第一部分载体包括Hash算法和token类型第二部分载体包含会话数据,第三部分是签名数据(jwt是可以解密的所以敏感信息不能放在里面)。