🚀 同源策略在JavaScript中的作用是什么?为什么它很重要
欢迎来到我的博客文章!所有文章都是满满的前端干货,文章简明扼要。
同源策略(Same-Origin Policy,简称 SOP)是 Web 浏览器实施的一项核心安全机制,用于限制一个源(origin)的文档或脚本如何与另一个源的资源进行交互。
一、什么是"同源"?
两个 URL 被认为是同源,当且仅当它们的以下三部分完全相同:
- 协议(Protocol):如 http / https
- 主机名(Host/Domain):如 example.com
- 端口(Port):如 80(HTTP 默认)、443(HTTPS 默认)
✅ 同源示例:
https://api.example.com:443/app 与 https://api.example.com/data → 同源
❌ 不同源示例:
• http://example.com vs https://example.com → 协议不同
• https://example.com vs https://api.example.com → 主机不同
• https://example.com:8080 vs https://example.com → 端口不同
注意:路径(path)和查询参数(query)不影响同源判断。
总结
| 项目 | 说明 |
| 本质 | 浏览器的安全策略,限制跨源读取/操作 |
| 核心目的 | 防止恶意网站窃取用户在其他网站的数据 |
| 关键限制 | 无法读取跨域 AJAX 响应、无法访问跨域 iframe DOM |
| 绕过方式 | CORS(服务器授权)、postMessage(安全通信) |
| 重要性 | Web 安全的基石之一,保护用户隐私和会话安全 |