cookie,session,token

cookie:    

    非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器。由于cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的。

session:

    服务器要知道当前发请求给自己的是谁。为了做这种区分,服务器就要给每个客户端分配不同的“身份标识”,然后客户端每次向服务器发请求的时候,都带上这个“身份标识”,服务器就知道这个请求来自于谁了。至于客户端怎么保存这个“身份标识”,可以有很 多种方式,对于浏览器客户端,大家都默认采用 cookie 的方式。服务器使用session把用户的信息临时保存在了服务器上,用户离开网站后session会被销毁。这种用户信息存储方式相对cookie来说更安全,可是session有一个缺陷:如果web服务器做了负载均衡,  那么下一个操作请求到了另一台服务器的时候session会丢失
 

token:
    token优点:

      1.无状态可扩展2.支持移动设备3.跨程序调用4.安全 随着Web,应用程序,以及移动端的兴起,session这种验证的方式逐渐暴露出了问题。尤其是在可扩展性方面。
    token验证方面:      

      当客户端向服务端发起请求时,服务端向客户端发送一个令牌(token),里面包含了客户端的user id和防止恶意伪造的密匙(签名),token数据服务端不保存,当客户端向服务端发起请求时,获取客户端token,服务端再用相同的方法生成token,两者比较,得到验证结果,用一些CPU计算时间获取储存空间

    token安全方面:      

      请求中发送token而不再是发送cookie能够防止CSRF(跨站请求伪造)。即使在客户端使用cookie存储token,cookie也仅仅是一个存储机制而不是用于认证。不将信息存储在Session中,让我们少了对session操作。 并且token是有时效的

猜你喜欢

转载自www.cnblogs.com/qiansk/p/11281281.html
今日推荐