记一次电话面试,关于cookie

昨天午睡醒过来的时候看到了boss直聘上有消息,发现是邀请电话面试的信息,我立刻答应下来了。于是四点钟电话很准时就打来了。有些问题都比较开放性。我就没怎么答上来,而且因为太紧张了,问到缓存的时候忘记把强缓存跟协商缓存说出来了,如果电话面试挂了我估计就挂在这里了。

那么说下印象比较深的cookie吧,我的博客项目中使用了localStorage来保存token,之后面试官问我是否知道localStorage之外的缓存,我脑子一抽说了个vuex,我真想给自己一巴掌。第一次电话面试真的是紧张。

之后我说了cookie,然后面试官就问cookie由哪些部分组成。 听到之后我就知道这我不会,只能说不好意思,这个我不太了解。所以这次我就总结了这篇文章。

Cookie

我们可以打开控制台看一下cookie都有哪些属性。按f12后点击application,就能够看到cookie了

Name

这个属性就表示cookie的名字,每个cookie的名字都是唯一的

Value

这个属性表示cookie的值,需要注意的是,cookie的Name属性和Value属性都不允许有逗号,分号,空格的存在,因此如果有着三种形式的符号存在的话,需要将其进行编码。

Domain

就是cookie所在的域名,如果没有设置domain的话,那么会cookie会自动绑定到执行语句的当前域,对于domain属性来讲,也有一个需要注意的地方,就是cookie不能够在同一个域名和该域名下的二级域名之间公用。

Path

这个属性的默认值是/,匹配的是路由,这里匹配的是路由的意思就是比如你的域名是www.danzzzz.xyz,那么路由如果是www.danzzzz.xyz/auth/,那么实际上cookie绑定的是这个/auth

Max-age

这个属性是http1.1新增的属性,用来替代expires的,单位是秒,用来表示cookie在多少秒之后会失效

Secure

因为http是无状态协议,而且http在传输数据的过程中是以明文传输的,因此很容易遭到第三方网站的窃取,如果我们使用secure的话,就能够确保cookie是在https协议下进行传输的,但是这不代表会将cookie加密

其实应该还有一个属性是HttpOnly,这个属性表示不能够被js脚本访问,因为js能够通过document.cookie来获取cookie,所以使用HttpOnly就能够阻止这种情况,在一定程度上防止xss攻击,也就是跨站脚本攻击。

 

本篇文章参考与https://juejin.im/post/59d1f59bf265da06700b0934

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值