为保护用户信息安全,防止恶意网站窃取用户数据,浏览器限制本域中的脚本只能访问本域中的资源,这就是同源策略。javascript
若是两个 URL 的 protocol
、host
、port
三者都相同的话,则这两个 URL 是同源,即属于同一个域。java
在页面中经过 about:blank
或 javascript: URL
执行的脚本会继承打开该 URL 的文档的源,由于这些类型的 URL 没有包含源服务器的相关信息。跨域
能够经过设置 document.domain
为当前域或者当前域的父域来修改当前页面的源。 因为设置 document.domain
会致使 port
被重置为 null
,因此使用这种方式修改源时,须要在父域和子域中设置 document.domain
为相同的值,不然会因为 port
不相同而没法经过同源检测。浏览器
请求与当前域非同源的域中的资源即为跨域。安全