我的问题很简单,但我找不到答案,也没有任何资源来测试它。
- 我能够从一个域名发起 HTTPS CORS 请求到另一个 HTTPS 域名吗?
- 我能够从一个域名发起 HTTP CORS 请求到另一个 HTTPS 域名吗?
我知道我可以从一个域名发起 HTTP CORS 请求到另一个 HTTP 域名,但是我不知道使用 HTTPS 是否有什么不同。
是的,您可以从一个HTTPS域向另一个HTTPS域发起CORS请求。
唯一的区别在于HTTPS是一个安全源,因此只能调用安全源,而不是HTTP,浏览器将通过以下消息阻止它:
混合内容:'https://example.com/index.html'页面使用HTTPS加载,但请求了一个不安全的XMLHttpRequest端点'http://example2.com/endpoint'。该请求已被阻止;内容必须通过HTTPS提供。
警告:如果允许HTTP请求调用您的HTTPS网页,则会变得不安全,因为这意味着攻击者可以使用受害者的Cookie强制请求您的HTTPS网页并读取回答。
如果你仍需要支持IE8/IE9并使用XDomainRequest,要注意它不支持跨协议请求。根据MDN:
源安全协议必须与请求的URL匹配。(http到http,https到https)。如果不匹配,则请求将出错"Access is Denied"。