同源策略(Same Origin Policy)
(1)基础理解
【概念1】:同源策略是浏览器最核心最基本的安全功能。浏览器的同源策略限制了来自于不同源的“document”/脚本,对于当前“document”读取或设置某些属性。
例子:
若没有该策略,则a.com的js脚本,可以在b.com未加载此脚本时,随意更改b.com的页面。
【概念2】:对于当前页面来说,页面内存放js文件的域并不重要,重要的是加载js页面所在的域是什么。
例子:
a.com中通过以下代码,加载了b.com中的b.js:
<script src="http://b.com/b.js"></script>
对于当前打开的页面(a.com)来说,b.js的origin是a.com而不是b.com
(2)怎么样算同源?
同协议,同域名(包括根域名和子域名),同端口
例子,

(3)什么样的情况下不受跨域限制,什么时候受限制?
受跨域限制:XMLHttpRequest(AJAX中要尤其注意???为什么要注意呢???),cookies,DOM,第三方插件(如:Flash,Java Applet);
不受限制:img,script,iframe,link
ps:它们都带src属性的标签,每次加载其实是浏览器发起一次Get请求,但是src加载的资源,浏览器限制了js的权限,使其不能读/写返回的内容(而XMLHttpRequest可访问来自同源的内容)