Ajax XDomainRequest是否可以与SSL一起使用?

Ajax XDomainRequest是否可以与SSL一起使用?,ajax,ssl,internet-explorer-8,internet-explorer-9,xdomainrequest,Ajax,Ssl,Internet Explorer 8,Internet Explorer 9,Xdomainrequest,我的代码在IE8中使用了微软的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.

我的代码在IE8中使用了微软的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();  
var url=”http:///api/acquire?";  
var xdr=新的XDomainRequest();
xdr.onload=函数(){
$.(“#标识符”).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证书不是问题所在。如果我在IE8的地址栏中键入https://
/,其中
与上面的“url”中相同,则页面可以正常加载

因此,我们有以下内容:
-直接从浏览器中点击https://
/就可以了
-不允许通过XDomainRequest点击https://
/api/acquire?


能做到吗?我是不是漏掉了什么

显然,答案是:

该页面上的第7点说,“请求的目标必须与宿主页面的目标相同。”

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

“这显然是我们的意图,以防止HTTPS页面产生错误 XDomainRequests用于基于HTTP的资源,因为该场景呈现了 许多开发人员和大多数用户所面临的混合内容安全威胁 我不明白

然而,这个限制过于广泛,因为它阻止了HTTP 来自发布针对HTTPS页面的XDomainRequests的页面 诚然,HTTP页面本身可能已被破坏,没有 应禁止其接受公共资源的原因 安全地。”


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

fwiw,我对https URL的XDR请求有问题,即使宿主页面也通过https提供服务(请求的域是宿主页面的子域)。但是,当我对两者都使用http时,XDR也会起作用。即使请求页面也是https,我也没有幸使用https。它只会触发
onerror
事件(一个回调,它提供了零信息)。我正在开发计算机上的两个虚拟主机之间通信,我开始怀疑这是否与此有关(自签名证书?)。@SethBro是的,我还想知道我当前正在处理的项目中是否有自签名证书。如果您使用了无效证书(自签名且不受信任),则是,XDR将立即使连接失败。如果它是自签名但内部受信任,这是否构成无效证书?