跳到主要内容

1. 引言

用户代理会与大量作者创建的内容交互. 尽管其中许多作者出于善意, 但也有一些作者可能具有恶意. 由于用户代理会基于其处理的内容执行操作, 用户代理实现者可能希望限制恶意作者破坏其他内容或服务器的机密性或完整性的能力.

例如, 考虑一个 HTTP 用户代理, 它渲染从不同服务器获取的 HTML 内容. 如果该用户代理执行这些文档中包含的脚本, 用户代理实现者可能希望防止从恶意服务器获取的脚本读取存储在可信服务器上的文档; 该可信服务器例如可能位于防火墙之后.

传统上, 用户代理会根据内容的 "源 (origin)" 对内容进行划分. 更具体地说, 用户代理允许从某个源获取的内容与从同一源获取的其他内容自由交互, 但会限制该内容如何与来自另一源的内容交互.

本文档描述所谓同源策略 (same-origin policy) 背后的原则, 以及比较和序列化源的具体机制. 本文档不描述同源策略的所有方面; 相关细节留给其他规范, 例如 HTML [HTML] 和 WebSockets [RFC6455], 因为这些细节通常与具体应用有关.