感谢作者:本文参考地址:https://blog.csdn.net/weixin_41648325/article/details/90575254
Cookie
cookie是一个非常具体的东西,指的是浏览器能永久存储一种数据,仅仅是浏览器实现一种数据存储功能。
cookie是由服务器生成,发给浏览器,浏览器把cookie以kv的形式保存到某个目录下的文本文件内,下一次请求同一网站时回把该cookie发给服务器,由于cookie时存在客户端上的,所以浏览器假如一些限制,确保cookie不回被恶意的使用,同时不回占据他多的磁盘空间,所以每个领域cookie的数量时由限制的。
Session
session从字面上来讲时会话,这个就类似于你和一个人交谈,你怎么知道你当前交谈的是张三,而不是李四,对方肯定有某些特征(长相等)表明他是张三,session也是类似的道理,服务器要知道当前发请求给自己的是谁,客户端每次每次想服务器发器请求的时候,都会带身份标识,服务器就知道这个请求来自于谁,客户端怎么保存这个身份标识,可以由很多方式,大家都采用cookie的方式。
服务器使用session把用户的信息临时保存在服务器上,用户离开网站session会被销毁这种用户存储方式相对于cookie来说更安全,但是session又一个缺陷,web服务做了负载均衡,那么下一个操作请求到了零i太机器的时候sesseion会消失。
Token
在web领域Token的身份验证随处可见,在大多数web API公司中,tokens是多用于下处理认证的最佳方式。一下集中特性会让你在程序中使用token身份验证
Token起源
以前是怎么验证的,我们都知道http请求是无状态的,这种无状态意味着程序需要验证每一次请求,从而辨别客户端的身份。这就意味着程序需要验证每一次请求,从而辨别科幻端的身份。在这之前程序都是通过在服务端存储登陆信息来辨别请求的,这种方式一般都是通过存储Session来 完成的。这种验证方式在可扩展性方面的缺点尤其的明显。
Session :每次认证用户发器请求时,服务器需要创建一个记录来存储信息,当越来越多的用户发请求时,内存开销会不断增加。
跨域共享会时一个令人头疼的问题。会出现精致请求的情况。
Token验证,的原理,我们的Token noSession
用户通过用户名和密码发送请求
程序验证
程序返回token给客户端
客户端存储token,并且用于每次发送请求
服务器验证token并返回数据。
token的优势,无状态,可扩展