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

标签 javascript http browser cors cross-domain

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


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

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

最佳答案

Is it true that the origin (Access-Control-Allow-Origin) determines by the server who gave me the script file that sent the HTTP request?

没有。

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

JavaScript 的来源无关紧要。它是包含 <script> 的 HTML 文档的来源加载重要 JavaScript 的元素。

The browser must have some notes on where each script file was downloaded from. Where Can I find this information in chrome latest?

浏览器开发者工具的网络选项卡。

Also, how is it possible that I have a website that received his script files from server A and sends HTTP requests to server B (each server has a different domain), server A has Access-Control-Allow-Origin=* and server B doesn't specify Access-Control-Allow-Origin but everything is working?

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

If I'm wrong then how do I determine who is the origin of an HTTP request?

来自 XHR 或 Fetch 的跨源请求将包含 Origin HTTP 请求 header 。

关于javascript - 如何确定每个 HTTP 请求的来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54404039/

相关文章:

javascript - 在 javascript 中重建包含嵌套数组的对象数组

java - 如何从 Java 中的 HTTP header 中检索 IP 地址

caching - 浏览器后退按钮不执行 Controller 方法

browser - 常规浏览器显示统计信息

javascript - 在 Dojo 中创建 Google map 的界面

javascript - 我如何使用vuejs在浏览器url中获取当前product.id的详细信息

javascript - 从动态生成的表中删除行

java - MySQL 读取性能非常慢

c - C中通过http发送图像

CSS 不同的浏览器意味着不同的输出