XHR HEAD 请求是否可以不遵循重定向(301 302)

2024-04-19

是否可以发送 xhr HTTP HEAD 请求以仅获取第一个请求的标头响应,而不像重定向一样自动遵循 301、302?我只对获取 url 的新位置感兴趣。例子:

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(data) {
    if (xhr.readyState == 4) {
        if (xhr.status == 301 || xhr.status == 302) {
            // Get new location url don't GET it
        }
    }
};
xhr.open('HEAD', url, true);
xhr.send();

http://www.w3.org/TR/XMLHttpRequest/#infrastruct-for-the-send-method http://www.w3.org/TR/XMLHttpRequest/#infrastructure-for-the-send-method似乎指定应遵循请求,有没有办法阻止这种情况?


不存在,这不是你可以阻止的暴露行为。

这是因为您已经链接的规格 http://www.w3.org/TR/XMLHttpRequest/#infrastructure-for-the-send-method,指定的行为是 XmlHttpRequest 应该透明地不幸的是,遵循重定向......在幕后,而不是以您可以阻止的方式。

如果资源移动等,这种方式可以尝试让事情变得更容易......但是当它被设计和规范制定时,所有这些重定向服务都不存在。只是没有强烈需要任何其他行为或能力来阻止它,我认为随着大量的重定向到达网络,我们不会看到添加的功能,但谁知道什么时候每个浏览器都会支持它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XHR HEAD 请求是否可以不遵循重定向(301 302) 的相关文章

随机推荐