同源策略(Same-origin policy)是什么()
一、同源策略是什么?
一个 URL 有三部分组成:协议、域名(指向主机)、端口,只有这三个完全相同的 URL 才能称之为同源。如下,能和 http://www.example.com/dir/index.html
同源的是?
URL | 结果 | 原因 |
---|---|---|
http://www.example.com/dir2/other.html |
同源 | 只有路径不同 |
https://www.example.com/secure.html |
不同源 | 协议不同 |
http://www.example.com:81/dir/etc.html |
不同源 | 端口不同 ( http:// 默认端口是80) |
http://news.example.com/dir/other.html |
不同源 | 域名不同 |
document.domain
,让子域名和父域名通过同源策略的检测。// 1、子域名下面的页面
http://store.company.com/dir/other.html // 2、脚本代码中修改
document.domain = "company.com";
// 3、再去访问父域名下面的页面,可以不被跨域拦截
fetch("http://company.com/dir/page.html")
备注:但是如果端口不是默认80,也会失败,因为
document.domain = "company.com";
会把端口设置为 null三、跨域访问 跨域访问的解决方案是 CORS,详情,看这里!
四、window.postMessage(不推荐) 【同源策略(Same-origin policy)是什么()】跨域访问也可以通过
window.postMessage
来实现,不过不太推荐,很容易造成安全问题。window.postMessage - 详细用法说明!五、参考文档
- 同源策略(Same-origin policy)是什么?
推荐阅读
- 硬笔楷书26
- 《教育心理学》读书笔记十四---学校班级管理的现状分析与策略研究
- 张晧奕(7.8国际黄金,原油丨日内进场操作策略建议,黄金参考策略)
- 王谦讳(1.26黄金多空利润如何把握;白银TD短线操作策略指导)
- 秋季养生策略——阳光森林林海峰
- 简易有效Api接口防攻击策略
- 定投策略
- 个人日记|K8s中Pod生命周期和重启策略
- #新年觉醒day9#《改变》(实践的通用策略)
- js之策略模式