gpt4 book ai didi

ajax - 可以使 XDomainRequest 与 SSL 一起使用吗?

转载 作者:太空宇宙 更新时间:2023-11-03 12:39:02 25 4
gpt4 key购买 nike

我有在 IE8 中使用 Microsoft 的 XDomainRequest 对象的代码。代码如下所示:

var url = "http://<host>/api/acquire?<query string>";  
var xdr = new XDomainRequest();
xdr.onload = function(){
$.("#identifier").text(xdr.responseText);
};
xdr.open("GET", url);
xdr.send();

当“url”中的方案是“http://”时,命令工作正常。但是,当方案为“https://”时,IE8 会给我一个“访问被拒绝”的 JavaScript 错误。这两种方案在 FF 3.6.3 中都可以正常工作,当然,我在其中使用 XmlHttpRequest。对于这两种浏览器,我都遵守 W3C 访问控制。 “http://”适用于两种浏览器的跨源。所以问题出在 IE8、XDomainRequest 和 SSL 上。

SSL 证书不是问题。如果我输入 https://<host >/进入IE8的地址栏,其中<host > 与上面的“url”相同,页面加载正常。

所以我们有以下内容:
- 点击 https://<host >/直接从浏览器运行正常;
- 点击 https://<host >/api/获取? <query string > 不允许通过 XDomainRequest。

可以吗?我遗漏了什么吗?

最佳答案

显然,答案在这里:Link

此页面上的第 7 点说,“请求必须针对与托管页面相同的方案。”

以下是第 7 点的一些支持文本:

"It was definitely our intent to prevent HTTPS pages from makingXDomainRequests for HTTP-based resources, as that scenario presents aMixed Content Security Threat which many developers and most users donot understand.

However, this restriction is overly broad, because it prevents HTTPpages from issuing XDomainRequests targeted to HTTPS pages. While it’strue that the HTTP page itself may have been compromised, there’s noreason that it should be forbidden from receiving public resourcessecurely."

目前看来,我最初问题的答案是:是的,如果托管页面可以使用“https://”方案;不,如果不能的话。

关于ajax - 可以使 XDomainRequest 与 SSL 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2999494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com