Skip to main content

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)

附录 (Appendix)



核心概念速览 (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 安全模型的基石文档,定义了:

  1. 同源策略 (Same-Origin Policy) 的理论基础
  2. CORS (Cross-Origin Resource Sharing) 的前置概念
  3. Origin 头部的标准定义,被广泛用于:
    • CORS 预检请求
    • WebSocket 握手
    • Fetch API
    • OAuth 2.0 重定向验证

所有现代 Web 开发者都应理解本RFC定义的核心概念。