Ajax跨域和同源的问题

一、同源

1、同源

就是协议、域名和端口号。若地址里面的协议、域名和端口号均相同则属于同源。

例子:

以下是相对于 http://www.a.com:8080/test/index.html 的同源检测:
http://www.a.com/dir/page.html ----成功
http://www.child.a.com/test/index.html ----失败,域名不同
https://www.a.com/test/index.html ----失败,协议不同
http://www.a.com:8089/test/index.html ----失败,端口号不同

2、同源策略

同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。所以a.com下的js脚本采用ajax读取b.com里面的文件数据是会报错的。
不受同源策略限制的。
(1)页面中的链接,重定向以及表单提交是不会受到同源策略限制的。
(2)跨域资源的引入是可以的。但是js不能读写加载的内容。如嵌入到页面中的