登录模块
为何产生
- http协议是无状态协议,即对交互场景不具备记忆功能。对于每次请求都是一个新的HTTP协议, 就是请求加响应, 对于服务器来说 ,每个请求对我来说都是全新的,不用记住是谁刚刚发了HTTP请求。
session
- session和cookie让服务器具备了记忆功能。
- 通过session机制,把用户的信息存储到服务器上,返回给浏览器sessionId,以后用户发送请求时携带sessionId,服务器通过该key来辨别用户。
- 存在事务问题:
浏览器端只需保存当前用户的sessionId即可,但服务器要保存所有人的sessionId 如果访问服务器多了, 就得由成千上万,甚至几十万个,这对服务器说是一个巨大的开销 , 严重的限制了服务器扩展能力。
token
- 身份验证的过程
- 1、用户通过用户名和密码发送请求。
- 2、程序验证。
- 3、程序返回一个签名的token 给客户端。
- 4、客户端储存token,并且每次用于每次发送请求。
- 5、服务端验证token并返回数据。