概述
- http协议是应用层的超文本传输协议,用于客户端和服务器之间的通信,是无状态的,不能识别用户身份和状态
场景需求
- 需要对用户的登录状态进行验证,如果用户已经登录,允许此用户进行操作,如果用户没有登录,则必须登录后才可操作
cookie技术分析
- 针对这种需求,cookie和session技术(session基于cookie,下文统称cookie)已经可以满足,但是cookie技术是针对web浏览器–服务器架构的,这项技术的简单原理是:当用户登录某个系统时,服务器会记录此用户的登录状态并产生一个记录,大致是:{‘xxx-xxx’:‘用户信息’},并发送一个’sessionid:xxx-xxxx’给浏览器,浏览器会将sessionid存储在本地中,当再次想服务器发送请求时,会将这个sessionid一起发送给服务器,服务器则根据sessionid查找到相应的用户信息并查看登录状态,作出判断
- 可以看出,cookie技术是基于浏览器的,如果不通过浏览器访问服务器则不能使用,比如当手机的app访问服务器时,就不能使用cookie技术,此时token就来啦,值得注意的是:token几乎能用于包括浏览器、app(android,ios系统)在内的应用访问服务器
token知识点讲解
token原理
- token工作原理与cookie原理相似: