当某个互联网运营商的网站上规模之后,他们都会考虑将网站部署到主域名相同,子域名不同的服务器集群上,以此来构建一个聚合的应用。
同时,希望能够利用 JavaScript,在不同子域的网页间相互操作,实现一个对用户来说“无缝”的应用。这时,跨域操作的技术难点,仿佛一下子从服务器后台,转移到了浏览器前台。因为,浏览器将承载跨子域访问的任务。为什么会这么说呢?因为,我们已经步入了集成化的 RIA 时代。
一般情况下,通过运用 DOM 对象模型,不同窗口和框架里的内容可以通过JavaScript 互相作用。
但是,由于浏览器可以同时在窗口或框架中显示不同的页面,甚至是不同域下的页面。为了保证数据的完整性和信息的安全性,就必须建立起一种强制规则,来保证跨域的数据不会被非法的获取和修改。
多数情况下,只有相同域下的页面才能相互作用。比如,一个位于[url]www.microsoft.com[/url]域下的页面,可以自由地通过 JavaScript 读写[url]www.microsoft.com[/url]域下的其它页面,但却不能读写 home.microsoft.com 域下的页面,或是[url]www.google.com[/url]域下的页面。完全的跨域访问(比如,[url]www.microsoft.com[/url]域下的页面访问[url]www.google.com[/url]域下的页面),在 JavaScript 开发中是被完全禁止的,没有任何商量的余地。但是,DOM 为 document 对象提供了一个 domain 属性,可以授权“同主域但不同子域”页面间的数据访问,这正好可以应付那些“集团军”式的前台部署。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)