Cookie和Session的区分

最近在学习request框架,对于Cookie和Session,由于太久没接触了,这两个概念已经混淆了,特地回去翻了一下以前学习的资料,重新复习了一遍。

对于Cookie和Session的简单区别呢,就是一句话的事:

Cookie是存储在客户端的,而Session是存储在服务端的,而这两者的存在是为了解决HTTP协议的无状态缺陷。这句话想必大家看过很多次了,我给大家举一个栗子区分一下。

对于Cookie,我们登陆系统时经常勾上的自动登陆就可以通过它来实现。

HTTP是无状态的,这句话怎么理解呢,我们可以想象这样一种情景:

当我们登陆淘宝时,首先我们需要输入用户名密码,然后发起request请求,然后后台处理登陆成功返回页面。至此,第一个请求结束。然后当我们选中商品购买时,这个时候我们又需要再触发一次请求,发起request。那么问题来了,这个时候,后台服务器怎么知道这个request是谁发起的呢,因为我们登陆以及购买是两次分开的request请求,后台服务器并不能知道第二个请求是由哪个用户发起的,所以此时我们肯定会想到我们可以告诉服务器我们是谁啊,那告诉服务器这个过程就是通过Cookie实现的。

首先,当我们成功登录网站之后,后台服务器便会为我们下发一些Cookie,这些Cookie中的某一个带着我们的用户名密码,此后我们每次发起请求时,我们都会带上这个Cookie,这样后台服务器就知道我们是谁了。

而自动登陆则是为下发的Cookie设置了过期的时间,例如下图为登陆qq邮箱时下发的Cookie,右边可以看出过期时间为2020/9/24,这里应该是在这个日期前只要我打开网页版邮箱都可以自动登陆。

对于Session的理解,大家可以这样理解,目前互联网大数据做的可谓是热火朝天,一家成功的互联网企业肯定离不开优秀的数据处理,那么类似于淘宝这种购物型网站,他是如何记住我们的需求的,这其实也是可以通过Session来实现的。在我们首次成功登录之后,后台服务器为我们分配一个SessionID,这个SessionID对应了后台为这个用户分配的Session空间,这个SessionID可以通过记录在Cookie中一起下发到我们的浏览器上。至此,对于你在该网站的一些有价值的操作信息,便都会被记录在Session中,同时传给后台处理,之后只要每次登陆网站,对应的Session又会被下发下来,便可以实现对对应用户的”定向服务“了。

这是本人对Cookie和Session的一点小理解,如果存在哪些不对的地方还请大家指出,我及时修改学习。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值