- cookie和session
Resquest, response不行,因为它们是一个请求对应的一个生命周期。confg和组件servlet是一对一的关系,而登录和查询是不同的servlet所以数据不共用,而且confg没有读取变量的能力。tomcat内只有一个对象,context跟servlet是一对多的关系,而每个人登录传递的账号都是code=" zhangsan"的数据,其中key值都是一样,存入context有冲突。
区别
1.cookie存在游览器器上,服务器压力小,但数据不安全;
2.session存在服务器上,服务器压力大,但数据安全。
----------------这里假装有分隔线---------------------
1A) cookie如何认证
- 用户输入用户名与密码,发送给服务器。
- 服务器验证用户名和密码,正确的就创建一个会话(session),同时会把这个会话的ID保存到客户端浏览器中,因为保存的地方是浏览器的cookie,所以这种认证方式叫做基于cookie的认证方式。
- 后续的请求中,浏览器会发送会话ID到服务器,服务器上如果能找到对应的ID的会话,那么服务器就会返回需要的数据给浏览器。
- 当用户退出登录,会话会同时在客户端和服务器端被销毁。
1B) cookie认证方式的不足之处
- 服务器要为每个用户保留session信息,连接用户过多会造成服务器内存压力过大。
- 适合单一域名,不适合第三方请求。
2A)token的认证过程
用户输入用户名和密码,发送给服务器。
服务器验证用户名和密码,正确的话就返回一个签名过的token(token 可以认为就是个长长的字符串),浏览器客户端拿到这个token。
后续每次请求中,浏览器会把token作为http header发送给服务器,服务器验证签名是否有效,如果有效那么认证就成功,可以返回客户端需要的数据。
一旦用户退出登录,只需要客户端销毁token即可,服务器端不需要任何操作。
2B)token认证方式的特点
这种方式的特点就是客户端的token中自己保留有大量信息,服务器没有存储这些信息,而只负责验证,不必进行数据库查询,执行效率大大提高。
--------------------------------------这里有分隔线诶
jwt伪造开始学