同源策略是一种约定,它是浏览器最核心也是最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能会受到影响.可以说Web是构建在同源策略的基础之上的,浏览器只是针对同源策略的一种实现.
浏览器的同源策略,限制了来自不同源的"document"或脚本,对当前"document"读取或设置某些属性.影响"源"的因素有:协议,域名,端口号.
需要注意的是,对于当前页面来说,页面存放JavaScript文件的域并不重要,重要的是加载JavaScript页面所在的域是什么.
在浏览器中,<script>,<img>,<ifram>,<link>等标签都可以跨域加载资源,而不受同源策略的限制.这些带"src"属性的标签每次加载时,实际上是由浏览器发起了一次GET请求.