Cookie:

cookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能。

cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器。

由于cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的。

Session:

session在字面意思上就是会话,比如说要和张三进行一次交谈,也就是说,如果要判断和自己的交谈到底是张三还是李四呢,这个时候就是session在起作用,session好比就是张三身上的某个特征来表明他就是张三。

session用在服务器与浏览器对话中,也是类似的道理,服务器要知道当前发请求给自己的是谁。为了做这种区分,服务器就要给每个客户端分配不同的“身份标识”,然后客户端每次向服务器发请求的时候,都带上这个“身份标识”,服务器就知道这个请求来自于谁了。

对于浏览器客户端,保存session的默认都采用了cookie的方式。

session相比cookie来说更安全些,因为session用完即弃,但是在这里session又有一个缺陷,如果说服务器做了负载均衡,那么下一个操作请求到了另一台服务器的时候session会丢失。

Token:

token的出现:在客户端大量的向服务器请求数据,服务器频繁的拿着用户名和密码去数据库里面执行操作,并且要判断用户名和密码是否正确,在这样的背景下,token应用而生。

token的应用:token在服务器端生成一个字符串,作为客户端请求数据的令牌,用户第一次登录以后,就会产生一个token字符串,并且把这个字符串返回给客户端,后面再请求的时候,只要带上这个token来就行了,不需要再带上用户名和密码,

token的简单形式:uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,主要是由token的前几位+哈希算法经过压缩,组合成字符串,防止恶意的三方拼接盗取token)

 

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/zhaoyunxiang/p/15949253.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!