美文网首页
同源策略(Same-origin policy)是什么?

同源策略(Same-origin policy)是什么?

作者: Medicine_8d60 | 来源:发表于2022-07-21 10:31 被阅读0次
一、同源策略是什么?

一个 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,详情,看这里!

摘录
一、CORS 是什么?

出于安全原因,浏览器会限制脚本发起的跨域 HTTP 请求,除非服务器同意访问。譬如服务器对预检请求的响应 Header中有Access-Control-Allow-Origin: *,那么跨域请求即可正确访问。

服务器响应跨域请求

Access-Control-Allow-Origin用于响应预检请求,表示允许该资源的外域 URI

// 允许所有
Access-Control-Allow-Origin: *

// 只允许 http://mozilla.com
Access-Control-Allow-Origin: http://mozilla.com


四、window.postMessage(不推荐)

跨域访问也可以通过 window.postMessage 来实现,不过不太推荐,很容易造成安全问题。window.postMessage - 详细用法说明!


五、参考文档

相关文章

  • 什么是跨域请求

    什么是同源策略 ? 同源策略 同源策略 (Same-Origin Policy) 最早由 Netscape 网景公...

  • 浏览器同源策略和跨域方法

    什么是同源策略 同源策略 (Same-Origin Policy) 最早由 Netscape 公司提出, 所谓同源...

  • 同源与跨域

    题目1: 什么是同源策略 “同源策略(Same-Origin Policy)”,它是由Netscape提出的一个著...

  • 任务31-同源策略、跨域、jsonp

    问答 1. 什么是同源策略 同源是指域名、协议、端口相同。同源策略(Same-Origin Policy)是浏览器...

  • 同源策略、跨域

    同源策略 浏览器有一个很重要的概念——同源策略(Same-Origin Policy)。所谓同源是指,域名,协议,...

  • http跨域请求过程发出两次请求options请求,修改请求头未

    XMLHttpRequest遵守同源策略(same-origin policy),导致我们在不同源的情况下未必可以...

  • 同源策略、跨域、jsonp

    1. 什么是同源策略 同源是指域名、协议、端口相同。同源策略(Same-Origin Policy)是浏览器的一个...

  • cors解析

    同源策略(Same-origin policy)如果两个URL的协议、域名、端口号都相同,则表示他们符合同源策略。...

  • 跨域

    题目1:什么是同源策略? 同源策略,Same-origin policy,浏览器处于安全考虑,只允许与本域下的接口...

  • 跨域的几种实现方式

    概念1:同源策略 同源策略,Same-origin policy,浏览器处于安全考虑,只允许与本域下的接口交互。不...

网友评论

      本文标题:同源策略(Same-origin policy)是什么?

      本文链接:https://www.haomeiwen.com/subject/opgqirtx.html