什么是跨域?

一、同源策略

凡是拥有"src"这个属性的标签都具有跨域的能力,比如<script>、<img>、<iframe>。

JS中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的。因为浏览器的同源策略,为了保护本网站的信息,避免不同域的脚本攻击,协议域名端口相同,它是一种安全协议,指一段脚本只能读取来自同一来源的窗口和文档的属性。

二、跨域的例子

1、非跨域
http://www.123.com/index.html 调用 http://www.123.com/server.php

2、主域名不同:123/456,跨域
http://www.123.com/index.html 调用 http://www.456.com/server.php

3、子域名不同:www/m,跨域
http://www.123.com/index.html 调用 http://m.123.com/server.php

4、端口不同:8080/8081,跨域
http://www.123.com:8080/index.html 调用 http://www.123.com:8081/server.php

5、协议不同:http/https,跨域
http://www.123.com/index.html 调用 https://www.123.com/server.php

请注意:localhost和127.0.0.1虽然都指向本机,但也属于跨域

原文地址:https://www.cnblogs.com/camille666/p/cross_domain.html