Cookie和session 的区别

Cookie和session 的区别

  1. Http/Https 请求的特性:

    • 无状态

      张三和李四分别向一个web服务发送了一个http请求,此时web 后台并不能区分谁是张三,谁是李四,此种情况称之为无状态。

    • 短连接

      http一次请求一次响应,每次一通信完成后就会断开连接,此种情况称之为短连接

  2. Cookie

    试想有这样的场景,由于http协议的无状态特性,当两个不同的用户(张三/李四)向后台请求数据,但是如果两个人的权限不同,能看到的结果也应该不同,那后台如何区分谁是谁呢?

    image-20220114103300119

    当client向server发送一次request, server会给client一个response,此时的response中会携带cookie,当client接收到这个cookie的时候,会默认保存到浏览器上。

    当第二次这个client再次发起request的时候,在request中就会携带这个cookie,server就会知道这个client的信息了。

  3. session

    当server向client 生成一个cookie的时候,也会顺带存储一些其他信息(具体是哪些信息要根据实际的开发情况来确定)。将这些信息存储为字典类型。格式为:cookie :{'id':1, 'name':'kenny'}。 这些信息都会存储在server端,当client第二次发起请求的时候,通过它自身携带的cookie, 就可以查询到它的详细信息。此时server端就能知道client的身份信息了。

  4. 总结:
    • cookie : 由server生成,保存在client端
    • session: 由server生成, 并以cookie作为键,其他信息为值的方式,保存在server端,以供server验证client的身份信息。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值