由于Web浏览器必须遵守同源策略,因此客户端的Ajax应用程序一般不能与第三方服务器通信。这一策略规定JavaScript代码只能访问其来源服务器上的数据。事实上,这一策略是非常必要的。如果没有这个策略,那么在另一个域的另一个窗口中运行的JavaScript就有可能修改当前窗口中的HTML。而且,谁也无法确定自己正在查看的页面,是否来源于浏览器地址栏中显示的域。有了这个策略之后,我们就能知道自己正在查看的页面确实来自于正在浏览的域。
对Ajax应用程序而言,这一策略也会限制从其他域以异步方式下载数据;也就是说,只能从加载当前应用程序的服务器上加载数据。考虑到Ajax应用程序可用的众多Web服务,应该说这是一个太不合适的限制。
Tags: HTML/XHTML
本博客专注于Web前后端技术和技术翻译。目前正在翻译《JavaScript高级程序设计(第2版)》。新浪微博(t.sina.com.cn/lisf),Twitter(@cncuckoo,仅仅用于跟踪国外牛人;我翻不了墙,无法接受各位朋友的follow,抱歉!)