【发布时间】:2015-05-09 03:53:22
【问题描述】:
我正在使用站点 A 的一些 javascript 加载 HTML 页面。
Javascript 向站点 B 发送 HTTP GET 请求。此时:
- 浏览器向站点 B 发送 OPTIONS 请求
- 站点 B 响应 OPTIONS 请求
- 浏览器随后向站点 B 发送原始 HTTP GET 请求
- 站点 B 响应 HTTP 302 并将位置设置为站点 C。
此时浏览器停止处理请求。我期待它向站点 C 发送 HTTP OPTIONS 请求,就像它向站点 B 发送请求一样。但它没有。我在 Firefox 和 Chrome 上观察到了相同的行为。
我想了解为什么浏览器会以这种方式运行。我知道应该进行一些检查或最大重定向以防止循环,但不限于 2 个重定向请求。
还有为什么不将标头信息发送到 Javascript 代码以便应用程序可以对其进行处理。它只是被浏览器删除,尽管它通过在浏览器控制台中显示来自站点 C 的 HTTP 302 响应以及位置 URL 来取笑您。
XMLHttpRequest 无法加载 https://siteB/... 请求被重定向到“https://siteC/..”,这对于需要预检的跨域请求是不允许的。
真诚感谢您对设计的任何见解。
问候
【问题讨论】:
-
我有同样的问题,在这里描述:stackoverflow.com/questions/41856827/…你能帮帮我吗?
标签: cors http-redirect