今天遇到一个问题,使用https访问的页面,其间发起http的ajax的请求都被浏览器拒绝,必须为https,否则无法请求,导致页面局部未初始化。浏览器报错This request has been blocked; the content must be served over HTTPS.
百度了下,了解到同源策略。所谓“同源”指的是:协议相同、域名相同、端口相同。域名 , 协议 , 端口 只要有一个不同都是跨域。 localhost 和 127.0.0.1 虽然都指本机, 但也属于跨域。https页面里只能请求其它https的资源, 不能使用HTTP, 这是浏览器的安全设置的, 别说异步ajax请求了, 连在页面引入http的静态资源都不行。关于localhost 和 127.0.0.1可以查看这里。
但是我们我遇到的问题并不是跨域,因为我们服务器都配置了可跨域的,那就不是这个问题,从现有的信息看,只能说https请求的页面,页面中的所有请求(包括静态文件)都应该是https,如果使用http可能导致无法访问。