http页面中可以请求https,但是两者协议不同,不是跨域吗?
https页面中不能请求http,仅仅是因为两者跨域?
回答:
域名 , 协议 , 端口 只要有一个不同都是跨域. localhost 和 127.0.0.1 虽然都指本机, 但也属于跨域.
还有第二个问题的啊, 补下.
https页面里只能请求其它https的资源, 不能使用HTTP, 这是浏览器的安全设置的, 别说异步ajax请求了, 连在页面引入http的静态资源都不行, 浏览器都会有相应的提示, 类似通过点击其图标查看安全状态和通过证书, 目前没有关闭设置的方法.
回答:
所谓“同源”指的是”三个相同“。
协议相同
域名相同
端口相同
比如说 http://segmentfault.com/这个网址,协议是http://,域名是 segmentfault.com,端口是80。
那么也就是说 https 请求是就是跨域,反过来也是跨域。
如果有的网站可以,那一定是设置了 cors。
跨域受限的最常见的还有 cookie localStorage indexedDB DOM 操作也是。
回答:
跨域是针对ajax来说的
https不能加载http是安全限制,不能加载比自己还低的安全级别
回答:
如果AJAX可以无限制跨域的话,它就和桌面SOCKET差不多了。功能实在太强了,相对来说安全性也差了很多。
回答:
https地址中,如果加载了http资源,浏览器将认为这是不安全的资源,将会默认阻止