今天同事遇到一个问题,大概描述如下:

浏览器已经接收指令,之前在一级域名下存储了相关的信息。这里为了简化问题,假设我们有两个应用A和B,域名分别为:a.b.comc.a.b.com。(显然B是A的一个子域)。

上面的描述就是:在.b.com这个一级域名下,我们已经成功写入了一个cookie,假设为:b=level1

在正常用户的浏览行为中,应用A会向自己的域下写入a=level2(domain:a.b.com)。

在A正常的页面中,有些场景会有异步的请求发出到B应用的页面(用于获取数据),合理的一种想法是: 发送到B应用的请求,应该携带着上面的b=level1a=level2这两个cookie信息到B应用的服务器去才对。但是,实际的情况是,b=level1被如愿携带上来,但是a=level2这个信息却被丢弃了!(确切的说是没有跟着request一起被发送到B的服务端)。

为啥?在访问子域应用时,不是父域名下的cookie都应该被携带上来吗?就像上面的b=level1那样?

其实,关于这点,在cookie的RFC规范中,并没有太明显的说明,至少我没有看到,即使又看了一遍RFC6265中关于Domain Matching的描述也是如此。

但实际的使用过程中,某个域下的cookie如果希望能够被他的子域具有可见性(即可以读取),必须要注意的一点是,应该保证这个cookie在被Set的时候,应该以"."开头。回到上面的例子,之所以a=level2这个cookie没有在用户浏览器请求B应用时被携带到B的server端,就是因为a=level2这个cookie的domain不是.a.b.com,而是a.b.com

事实上,上面例子中的A应用,在向自己的域名下写入a=level2这个cookie时,压根就没有显式的设置domain这个属性,这样一来,浏览器接受到这个Set Cookie的请求时,就会以默认以当前应用的域名作为cookie的domain。(不过据说某些版本的Firefox到是会自作聪明的在当前域名的前面自动加上一个点,这个待验证!)

这一个小点的区别,还是很容易被忽略的,不过产生的浏览行为还是有细微差别的。(涉及到cookie是否上传,是否占用网络流量等)

PS:关于上面说到的那个问题,stackoverflow上的这个有个截图,看着说明就直观很多了。

关于cookie domain中的点前缀相关推荐

  1. 前端修改服务器cookie,前端中怎样设置cookie

    这次给大家带来前端中怎样设置cookie,前端中设置cookie的注意事项有哪些,下面就是实战案例,一起来看一下. cookie是什么:是一种用来在客户端硬盘上存储信息的手段. 为什么用?:可以用来存 ...

  2. 获取Domain中Value Range值和描述文本的方法

    访问Domain中Value Range的方法 1.直接访问表(dd07l--值和dd07T--描述文本) select * from dd07l where domname = 'domname' ...

  3. Python中带“symmetric_”前缀的方法的特点

    Python中带"symmetric_"前缀的方法的特点如下: 英文symmetric的中文翻译是"对称的",带"symmetric_"前缀 ...

  4. 如何批量删除文件夹名中相同的前缀?

    概要:前面我们介绍了批量删除文件夹名中相同后缀的方法,同样的,我们也会碰到需要批量删除文件夹名中相同前缀的场景.当我们面对大量的文件夹都需要删除相同的前缀的时候,该怎么做呢?怎么批量删除文件夹名中相同 ...

  5. 如何批量删除文件名中相同的前缀?

    概要:前面我们介绍了批量删除文件名中相同后缀的方法,同样的,我们也会碰到需要批量删除文件名中相同前缀的场景.当我们面对大量的文件都需要删除相同的前缀的时候,该怎么做呢?怎么批量删除文件名中相同的前缀呢 ...

  6. Cookie Domain设置错误引发的单点登录死循环问题

    问题现象 在业务系统B登录之后,打开B系统的一个内嵌iframe页面page1,page1需要访问业务系统A/create接口,屏幕出现一片白色,跟踪chrome network发现请求截图如下: 可 ...

  7. html页面怎么删除cookie,javascript中怎么删除cookie?

    当web服务器向浏览器发送网页后,连接被关闭,服务器会忘记用户的一切.Cookie是为了解决"如何记住用户信息"而发明的.有时为了我们的信息安全需要删除Cookie,我们该如何做呢 ...

  8. php cookie httponly,Cookie 会话中 PHPSESSID 缺少 HTTPOnly、Secure 属性设置方法

    吐槽的话就不说了,没什么意义,今天上午接到当地网安给我的 Web 应用安全评估报告,给泪雪网强行找出了几个低危漏洞要求处理,这种两个问题就是说会话 Cookie 中缺少 HTTPSOnly 属性,还有 ...

  9. html登录界面cookie,HTML中使用cookie保存登录账户

    用户点击登录按钮后  判断当前账户是否存在 如果存在 并且勾选了记住帐号  使用cookie保存帐号密码 如果存在 但是没有勾选记住帐号 遍历cookie  删除帐号密码 //判断当前用户是否存在 i ...

最新文章

  1. Swift 中使用Alamofire 免证书的设置
  2. HDU - 6393 Traffic Network in Numazu(线段树+LCA+树链剖分+并查集)
  3. python中range 函数_Python range()函数用法图文详解
  4. IDEA 2020.3 连接mysql数据库报错解决
  5. 投放屏幕upnp协议探究抓包
  6. 【树状数组】【P3608】平衡的照片
  7. 云创大数据荣获“南京实体经济十大优秀企业”
  8. 如何拼局域网所有ip_如何ping局域网内所有IP
  9. COMSOL学习经验(不定期更新中哦~)
  10. 跨境电商亚马逊产品运营模式都有哪些
  11. python高级索引
  12. mib文件在服务器的什么位置,MIB文件简单分析
  13. c语言分段函数x2-sinx,大学高等数学: 第二章第五讲三种分段函数求导法, 再也不担心了...
  14. 在电脑上收听广播——龙卷风网络收音机试用
  15. 《 HarmonyOS实战—HarmonyOS(鸿蒙)开发初体验,华为如何引领物联网时代》
  16. state软件的基本使用
  17. 中国软件,从繁荣走向文明
  18. 用 TensorFlow.js 在浏览器中训练一个计算机视觉模型(手写数字分类器)
  19. guacamole SSH、TELNET建议配置中文无衬线等宽字体Noto Sans Mono CJK SC
  20. 修改手机服务器密码忘了怎么办啊,交管服务平台忘了密码而且换了手机号

热门文章

  1. Spring Cloud中Eureka开启密码认证----(springcloud配置系列一)
  2. Python做数据分析时中文乱码?matplotlib出现中文乱码3行代码解决
  3. datatable 查询_2020年浙江注册会计师成绩查询预告
  4. php 反射原理,PHP反射机制详解
  5. 爬取某瓣电影中你好,李焕英电影的短评并生成词云
  6. docker镜像制作(一)
  7. shell脚本每日一练(二)
  8. java怎样调用DLL方法
  9. linux配置服务器心得体会,linux 学习 linux上搭建dhcp服务器
  10. python psutil库安装_安装psutil模块报错安装python-devel