谷歌的AJAX库API是否绕过了同源策略?

14

来源:https://developer.mozilla.org/En/Same_origin_policy_for_JavaScript

同源策略防止从一个源加载的文档或脚本获取或设置另一个源的文档属性。该策略可以追溯到 Netscape Navigator 2.0。

那么为什么不执行同源策略?有了像这样的script标签:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

我确定我漏掉了“什么”,我已经多次阅读了
http://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy
但是还是想不明白...

3个回答

18

HTML可以从任何地方加载,但在页面上运行的脚本无法从另一个源中获取文档。


1
这就是我喜欢的答案类型。简单而又简洁。 - Cesar
6
塞萨尔说 :-) 值得指出的是,同源策略适用于页面所在的域名,而非脚本:由example.com页面加载的来自example.net的脚本只能访问example.com,而不能访问example.net。 - NickFitz

2
<script>标签是一个例外。页面可以“邀请”来自另一个服务器的脚本,这被认为是可以接受的。(整个互联网经济——页面上的广告——都基于此允许!虽然这代表着安全风险,但它在短期内不会改变。)

0

脚本不是文档。它们在包含 <script> 元素的文档上下文中运行。


2
你能给我指出一个更清晰的解释吗?上面说到:...防止文档或脚本... - Cesar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接