美文网首页
session,cookie和token的区别

session,cookie和token的区别

作者: 笑_0627 | 来源:发表于2020-06-02 16:22 被阅读0次
cookie数据存放在客户端的浏览器上,session数据放在服务器上。

下面来举个老师经常说的例子来区分session和cookie:

我们把超市会员卡,比作session

超市会员卡                                                            session

发卡者---超市管理员                                            创建者--服务器

它是一张会员卡                                                    它是一个session对象

它有唯一的卡号                                                    它有唯一的sessionID

超市规定,这张卡n天不用就会失效                      开发人员设置,(有效期为60分钟,30分钟等)

超市会员卡,会记录在超市本子上或某软件上        session信息会存放在服务器中或者数据库中

超市本子损坏,或软件损坏,卡的信息就不见了    服务器重启或数据库清空,session也就没有了

超市提供注销会员卡的业务                                    开发人员可以提供注销session的功能

用户凭借自身身份来申请一个会员卡                      用户登录服务器后,服务器便会生成一个session

会员卡办理好后,便会通过各种途径交到用户手中    用户登录成功后,服务器便会通过响应头,把sessionID传递给客户端

客户收到卡后,会把他放置到某个位置                      客户端拿到这个sessionID后,会把sessionID放到浏览器的【cookie】中

下次来买东西可以直接带会员卡进行消费                  下次登录时,可以把sessionID通过【请求头】携带给服务器

超市人员会检查你的卡是否有效                                  服务器判断客户端提供的sessionID是否【有效】

你的家人拿你的卡去消费,是可以的                          小偷拿了你的sessionID去使用,也是可以的

简要概括:

用户登录----服务器便会创建一个sessionID,并返给客户端-----客户端接收到这个sessionID后,把它保存到浏览器的cookie中

1.用户登录成功后会立马创建一个session,并通过【响应头】中set--cookie属性,把session返回给客户端

2.浏览器接收到之后,把响应头中的set--cookie储存起来,储存到浏览器 的cookie中

3.之后浏览器每次发送请求时,都会把站点中的全部cookie通过【请求头】发送给服务器

cookie和session是如何配合来实现登录的:

1.用户一登陆,服务器便会生成一个session对象,并通过【响应头】中的set-cookie 把sessionID 发送给浏览器

2。浏览器收到sessionID会立马储存在cookie中,方便下次使用

3.服务器会根据客户端发来的sessionID来判断其有效性,如果失效则不能进行访问

用户注销或退出登录时,服务器会把sessionID置空,并返回一个空值给客户端

如果客户端通过set--cookie拿到了一个空值sessionID,便会删除sessionID

cookie的特点:

1.cookies是分站点的,各个站点之间是独立的

2.浏览器中的cookie是储存在浏览器的某个位置中的

3.浏览器通过set-cookie参数,对客户端的cookie进行管理,每次访问时,都需要把cookie发送给服务器

4.每个站点的cookie个数不超过50个,大小不超过4kb

session的特点:

1.session 是一个对象,是服务器产生的,保存在服务器的内存中的

2.session有自己的管理机制,如session的产生,超时,销毁等

3.sessionID是session中的一个对象,并且是唯一的,不会重复的

Token特点:

Token 也是由服务器产生的,存在服务器的内存或硬盘中

【用Token 来实现登录】

开发提供一个获取Token接口,根据用户名+密码,获取一个Token值

返回一个Token (字符串)

相关文章

网友评论

      本文标题:session,cookie和token的区别

      本文链接:https://www.haomeiwen.com/subject/bsouzhtx.html