代码之家  ›  专栏  ›  技术社区  ›  Stav Alfi

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

  •  1
  • Stav Alfi  · 技术社区  · 6 年前

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


    如果我是对的,那么有时候我网站的脚本文件可能来自多个服务器。浏览器必须对每个脚本文件的下载位置有一些注释。我在哪里可以在Chrome最新版本中找到这些信息? 另外,我怎么可能有一个网站从服务器A接收他的脚本文件并向服务器B发送HTTP请求(每个服务器都有不同的域),服务器A Access-Control-Allow-Origin=* 服务器B没有指定 访问控制允许来源 但一切都正常吗?

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

    1 回复  |  直到 6 年前
        1
  •  2
  •   Quentin    6 年前

    源站(访问控制允许源站)是否由给我发送HTTP请求的脚本文件的服务器确定?

    不。

    它允许在其他网站上运行的javascript从您的网站读取数据,这些数据通常会被相同的源站策略阻止。

    javascript的起源是不相关的。它是包含 <script> 元素,它加载了重要的javascript。

    浏览器必须对每个脚本文件的下载位置有一些注释。我在哪里可以在Chrome最新版本中找到这些信息?

    浏览器开发人员工具的“网络”选项卡。

    另外,我的网站怎么可能从服务器A接收到他的脚本文件并向服务器B发送HTTP请求(每个服务器都有一个不同的域),服务器A有访问控制允许origin=*和服务器B没有指定访问控制允许origin,但一切正常?

    源代码由HTML文档的URL决定,而不是由脚本决定。

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

    来自xhr或fetch的跨源请求将包括 Origin HTTP请求头。