一、同源策略
凡是拥有"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虽然都指向本机,但也属于跨域。