RFC 6454 - The Web Origin Concept (Web源概念)
发布日期: 2011年12月
状态: 标准跟踪协议 (Standards Track)
作者: A. Barth (Google, Inc.)
摘要 (Abstract)
本文档定义了"源 (origin)"的概念,该概念通常被用户代理用作权限或特权的范围。通常,用户代理会隔离从不同源检索的内容,以防止恶意网站运营者干扰良性网站的运行。除了概述源概念的基本原则外,本文档还详细说明了如何确定URI的源以及如何将源序列化为字符串。它还定义了一个名为"Origin"的HTTP头部字段,该字段指示哪些源与HTTP请求相关联。
本备忘录状态 (Status of This Memo)
这是一份互联网标准跟踪文档。
本文档是互联网工程任务组 (IETF) 的产品。它代表了IETF社区的共识。它已经接受了公众审查,并已获得互联网工程指导组 (IESG) 批准发布。有关互联网标准的更多信息,请参见RFC 5741第2节。
有关本文档当前状态、任何勘误以及如何提供反馈的信息,可访问 http://www.rfc-editor.org/info/rfc6454。
目录 (Table of Contents)
- 1. Introduction (简介)
- 2. Conventions (约定)
- 2.1 Conformance Criteria (一致性标准)
- 2.2 Syntax Notation (语法符号)
- 2.3 Terminology (术语)
- 3. Principles of the Same-Origin Policy (同源策略的原则)
- 3.1 Trust (信任)
- 3.2 Origin (源)
- 3.3 Authority (权限)
- 3.4 Policy (策略)
- 3.5 Conclusion (结论)
- 4. Origin of a URI (URI的源)
- 5. Comparing Origins (比较源)
- 6. Serializing Origins (序列化源)
- 6.1 Unicode Serialization of an Origin (源的Unicode序列化)
- 6.2 ASCII Serialization of an Origin (源的ASCII序列化)
- 7. The HTTP Origin Header Field (HTTP Origin头部字段)
- 7.1 Syntax (语法)
- 7.2 Semantics (语义)
- 7.3 User Agent Requirements (用户代理要求)
- 8. Security Considerations (安全考虑)
- 8.1 Reliance on DNS (对DNS的依赖)
- 8.2 Divergent Units of Isolation (不同的隔离单元)
- 8.3 Ambient Authority (环境权限)
- 8.4 IDNA Dependency and Migration (IDNA依赖和迁移)
- 9. IANA Considerations (IANA考虑)
- 10. References (参考文献)
- 10.1 Normative References (规范性参考文献)
- 10.2 Informative References (信息性参考文献)
附录 (Appendix)
相关资源 (Related Resources)
- 官方原文: RFC 6454 (TXT)
- 官方页面: RFC 6454 DataTracker
- 勘误表: RFC Editor Errata
- 相关RFC:
- RFC 7034 - X-Frame-Options (使用本RFC定义的源概念)
- RFC 6455 - WebSocket (依赖本RFC的源定义)
核心概念速览 (Quick Reference)
什么是源 (Origin)?
源是一个由三元组组成的保护域:
源 (Origin) = (协议, 主机, 端口)
= (scheme, host, port)
同源判断规则
两个URI同源当且仅当它们的协议、主机和端口完全相同。
示例
同源:
http://example.com/
http://example.com:80/
http://example.com/path/file
不同源:
http://example.com/ ← 基准
http://example.com:8080/ ← 端口不同
http://www.example.com/ ← 主机不同
https://example.com/ ← 协议不同
http://example.org/ ← 主机不同
Origin HTTP 头部
Origin: https://example.com
Origin: https://example.com:8080
Origin: null ← 隐私敏感上下文
重要性
RFC 6454 是 Web 安全模型的基石文档,定义了:
- 同源策略 (Same-Origin Policy) 的理论基础
- CORS (Cross-Origin Resource Sharing) 的前置概念
- Origin 头部的标准定义,被广泛用于:
- CORS 预检请求
- WebSocket 握手
- Fetch API
- OAuth 2.0 重定向验证
所有现代 Web 开发者都应理解本RFC定义的核心概念。