Firefox在POST请求中何时将Origin标头设置为null? [英] When does Firefox set the Origin header to null in POST requests?

查看:387
本文介绍了Firefox在POST请求中何时将Origin标头设置为null?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

正如您从这个Bugzilla主题(和 RFC 指出,不应以某种未定义的隐私敏感的背景下。 Mozilla在这里定义了这些上下文

我想知道的是,这些是Firefox不会发送Origin头文件的唯一情况。据我可以告诉它也不会发送在交叉源POST请求(虽然Chrome和IE将),但我不能确认在文档中。它是枚举的地方,我失踪?

谢谢。

至于规格的要求,上面的问题需要分成几个答案:


  • 当浏览器必须发送Origin头文件时

  • 当浏览器必须在内部将origin设置为一个将被序列化为 null



我怀疑Firefox需要什么从规格)被列举。但是就列举 spec 的要求而言,在这里详尽地详细说明了两个部分: 当浏览器必须发送Origin头部

问题的答案当浏览器必须发送Origin头文件吗?是: Origin 标题只发送给Fetch规范定义为 CORS请求的任何请求 CORS请求是一个HTTP请求, c $ c> Origin 标题。它不能被可靠地识别为参与CORS协议,因为 Origin 标题也包含在所有请求中,它们的方法既不是 GET HEAD


Fetch规范中的实际语句,它要求浏览器发送 Origin 所有请求的头部都不是 GET 也不是 HEAD 是这样的:


如果设置了 CORS标志或者 httpRequest 方法既不是 GET HEAD ,然后追加 Origin / httpRequest 的来源,序列化和UTF- 8编码到httpRequest的头部列表。

因此,需要浏览器发送 Origin for all POST 请求,包括同源 POST 取实际上是CORS请求 - 尽管它们是同源的)。






注意:上面描述了Fetch规范当前如何定义需求,这是由于对于在2016-12-09进行了说明。直到那时,要求才有所不同:



查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆