字节跳动面试最爱问的Cookie和Session,到底有什么区别?

菜鸡每日一面系列打卡38

每天一道面试题目

助力小伙伴轻松拿offer

坚持就是胜利,我们一起努力!

 

题目描述

Cookie和Session有什么区别与联系?

 

题目分析

Cookie和Session的区别与联系历来是面试考查的热点,该题频繁出现在阿里巴巴、字节跳动等大厂的面试过程中。既然是热点,回答就更要出彩,一道接近于开卷考试的题目,如果答得不好是很可能对面试结果有决定性作用的。

那么,如何回答才能出彩呢?一句话概况就是,要有自己独到的见解,不能人云亦云。要做到这一点并不容易,需要深入理解其背后的原理,而不是只靠背题。

要想搞清楚两个事物的区别与联系,首先需要了解这两个事物的概念。接下来,随菜鸡一起去看看吧!

 

题目解答

Session是一种抽象的概念,而不是一种具体的实现,只要能建立起user agent与server之间一对一交互的,就可以称之为Session,这意味着它可以有很多种实现。网上很多文章对Session的描述局限在一种通用的实现上,这在一定程度上来说是一种误导。

Cookie作为HTTP协议中header头的一个字段,是一个具体的存在,它可以认为是广义Session的一种实现方式。

而我们日常所说的Session,实际上是借助Cookie及服务器存储的一种会话实现。从这个层面出发,二者关系如下:

Cookie存储在客户端(浏览器),而Session存储在服务端。这一条也决定了Session相较Cookie来说更安全。

Session的运行依赖Session id,而Session id是存在Cookie中的,如果浏览器禁用了Cookie,Session也会失效。

Cookie保存数据<=4KB,一个站点最多保存20个Cookie,而Session并没有上限,取决于服务器的能力和具体的使用场景。

Cookie支持跨域名访问,Session不支持跨域名访问。

Cookie可以设置为长期有效,而Session会随会话窗口关闭而失效。

以上便是菜鸡对Cookie和Session之间区别的一些总结,供大家参考。

 

相关链接

字节跳动的三轮技术面试教会了我什么?

学习 | 工作 | 分享

长按关注“有理想的菜鸡

只有你想不到,没有你学不到

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值