加载 js 脚本时发送 Origin header
Send Origin header while loading js scripts
我将我的静态文件存储在不同的域中,我希望我的远程静态服务器 returns 文件具有 CORS headers,但我的服务器应该 "Origin" header 请求允许 CORS headers。不幸的是 Chrome 和 FF 不发送这个 header 当我尝试用通常的方式加载我的 js 脚本时
<script type="text/javascript" src="https://my-another-static-server.com/js/script.js"></script>
当我在 Chrome 的网络面板中看到此请求时,我只看到这些请求 header:
Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:ru,en-US;q=0.8,en;q=0.6
Cache-Control:no-cache
Connection:keep-alive
Host:my-another-static-server.com
Pragma:no-cache
Referer:http://localhost:63342/example.html
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36
我知道如果我们使用 XMLHttpRequest,浏览器会为 cross-domain 请求添加 Origin header,但这里我们使用本机浏览器技术发送请求。
有标签 crossorigin=anonymous
解决了这个问题。现在,当我加载脚本时,我的浏览器也会发送 Origin header.
我将我的静态文件存储在不同的域中,我希望我的远程静态服务器 returns 文件具有 CORS headers,但我的服务器应该 "Origin" header 请求允许 CORS headers。不幸的是 Chrome 和 FF 不发送这个 header 当我尝试用通常的方式加载我的 js 脚本时
<script type="text/javascript" src="https://my-another-static-server.com/js/script.js"></script>
当我在 Chrome 的网络面板中看到此请求时,我只看到这些请求 header:
Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:ru,en-US;q=0.8,en;q=0.6
Cache-Control:no-cache
Connection:keep-alive
Host:my-another-static-server.com
Pragma:no-cache
Referer:http://localhost:63342/example.html
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36
我知道如果我们使用 XMLHttpRequest,浏览器会为 cross-domain 请求添加 Origin header,但这里我们使用本机浏览器技术发送请求。
有标签 crossorigin=anonymous
解决了这个问题。现在,当我加载脚本时,我的浏览器也会发送 Origin header.