如何确定谁是每个HTTP请求的来源

时间:2019-01-28 14:25:51

标签: javascript http browser cors cross-domain

是由服务器(向我发送了发送HTTP请求的脚本文件)确定源(Access-Control-Allow-Origin)吗?


如果我是对的,那么有时我网站的脚本文件可能来自多个服务器。浏览器必须对从何处下载每个脚本文件有一些说明。在哪里可以找到最新的chrome信息? 另外,我如何有一个网站可以从服务器A接收他的脚本文件,并将HTTP请求发送到服务器B(每个服务器具有不同的域),服务器A具有Access-Control-Allow-Origin=*,服务器B没有指定Access-Control-Allow-Origin,但是一切正常吗?

如果我错了,那么如何确定谁是HTTP请求的来源?

1 个答案:

答案 0 :(得分:2)

  

是由服务器(发给我发送HTTP请求的脚本文件)的服务器来确定源(Access-Control-Allow-Origin)吗?

否。

它使运行在其他网站上的JavaScript可以从您的网站上读取通常由Same Origin Policy阻止的数据。

JavaScript的来源无关紧要。这是包含<script>元素的HTML文档的原点,该元素加载了重要的JavaScript。

  

浏览器必须具有一些有关每个脚本文件从何处下载的注释。在哪里可以找到最新的chrome信息?

浏览器开发人员工具的“网络”标签。

  

此外,我怎么可能有一个网站从服务器A接收他的脚本文件并将HTTP请求发送到服务器B(每个服务器具有不同的域),服务器A的Access-Control-Allow-Origin = *服务器B未指定Access-Control-Allow-Origin,但一切正常?

来源是由HTML文档的URL而不是脚本决定的。

  

如果我错了,那么如何确定谁是HTTP请求的来源?

来自XHR或Fetch的跨域请求将包含一个Origin HTTP请求标头。