Same Origin Policy
同源策略。它是对于客户端脚本(尤其是JavaScript)的重要安全度量标准。单词“origin”指使用的域名、协议、端口。
它首先出自 Netscape Navigator2.0。之后历经 Navigator2.01 和 Navigator2.02 的修正完善。其目的在于防止某个文档或者脚本从多个不同 “origin”(源)装载。
同源策略的精髓很简单:它认为自任何站点装载的信赖内容是不安全的。当被浏览器半信半疑的脚本运行在沙箱时, 它们应该只被允许访问来自同一站点的资源,而不是那些来自其它站点可能怀有恶意的资源。为了进一步说明,下面给出了 example.com 域名下的比较示例:
URL | 度量结果 | 原因 |
---|---|---|
http://www.example.com/dir2/other.html | 成功 |
|
http://www.example.com/dir/inner/other.html | 成功 |
|
https://www.example.com/dir2/other.html | 失败 |
协议不同 |
http://en.example.com/dir2/other.html | 失败 |
域名不同 |
http://example.com/dir2/other.html | 失败 |
域名不同 |
http://www.example.com:81/dir2/other.html | 失败 |
端口不同 |