我正在加载一个HTML页面,其中包含来自站点A的一些javascript.
Javascript向站点B发送HTTP GET请求.此时:
- 浏览器向站点B发送OPTIONS请求
- 站点B响应OPTIONS请求
- 然后浏览器将原始HTTP GET请求发送到站点B
- 站点B使用位置设置的HTTP 302进行响应到网站C.
此时,浏览器停止处理请求.我期待它将HTTP OPTIONS请求发送到站点C,就像它向站点B发送请求时那样.但事实并非如此.我在Firefox和Chrome上观察到了相同的行为.
我想了解为什么浏览器会以这种方式运行.我知道应该有一些检查或最大重定向来防止循环,但不限制2个重定向请求.
此外,为什么标题信息不会发送到Javascript代码,以便应用程序可以做一些事情.它只是被浏览器删除了,虽然它通过在浏览器控制台中显示来自站点C的HTTP 302响应和位置URL来取笑你.
XMLHttpRequest无法加载https:// siteB / ...请求被重定向到' https:// siteC / ..',这对于需要预检的跨源请求是不允许的.
对设计的任何见解都是真诚的感谢.
问候