假设我有一个域名,js.mydomain.com
它指向某个IP地址,以及其他一些requests.mydomain.com
指向不同IP地址的域名.可以.js
从js.mydomain.com
make Ajax请求下载文件requests.mydomain.com
吗?
现代浏览器如何实施相同的域策略?
对您的问题的简短回答是否定的:对于AJAX调用,您只能访问与加载页面相同的主机名(和端口/方案).
有几种解决方法:一种是创建一个URL foo.example.com
作为反向代理bar.example.com
.只要主机名匹配,浏览器就不关心实际请求的实际位置.如果您已经有一个前端Apache Web服务器,这将不会太困难.
另一种选择是AJAST,它通过在文档中插入脚本标记来工作.我相信这就是Google API的工作方式.
您可以在此处找到相同原始政策的良好说明:http://code.google.com/p/browsersec/wiki/Part2