[发明专利]一种用于实现跨域交互访问的方法和系统无效
申请号: | 201210590153.7 | 申请日: | 2012-12-31 |
公开(公告)号: | CN103023790A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 尹彦明 | 申请(专利权)人: | 北京京东世纪贸易有限公司 |
主分类号: | H04L12/749 | 分类号: | H04L12/749;H04L29/06 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 刘光明;穆德骏 |
地址: | 100176 北京市北京经济*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 实现 交互 访问 方法 系统 | ||
技术领域
本发明涉及跨域交互访问,更具体地,涉及一种通过动态创建具有跨域能力的标签来实现跨域交互访问的方法。
背景技术
随着网络技术的发展,Web应用对跨域访问的需求也越来越多。域(Domain)是Windows网络中独立运行的单位,域之间相互访问需要建立信任关系。信任关系是连接在域与域之间的桥梁。当一个域与其他域建立了信任关系后,两个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理。
然而,由于浏览器的安全限制,同源策略阻止从一个域上加载的脚本获取或操作另一个域上的文档属性。同源策略是为了防止从一个地址加载的文档或脚本访问或者设置从另外一个地址加载的文档的属性。也就是说,受到请求的URL的域必须与当前Web页面的域相同。这意味着浏览器隔离来自不同源的内容,以防止它们之间的操作。图1示意性地示出了跨域访问的概念图。如图1中所示,如果aa.com需要对同一域名aa.bb.com下的资源进行请求,则这种请求是允许的。然而,如果aa.com需要对不同域名bb.com下的资源进行请求,那么就构成了跨域请求(也就是说,对脚本所在的服务器之外的服务器进行了访问),浏览器会拒绝对bb.com的资源的请求。
受到同源策略的影响,跨域资源共享就会受到制约,但是跨域访问资源是有利的。例如,可以将请求分摊到不同的服务器,减轻单个服务器压力以提高响应速度;以及可以将不同的业务逻辑分布到不同的服务器上以降低负载。现有技术中通常使用代理、document.domain方案或使用HTML5中的WebSocket方案来实现跨域交互访问。
使用代理来实现跨域交互访问的原理是在服务器上配置一个代理,从而不用服务器直接请求需要的web服务,而是通过代理去请求web服务,然后再将结果返回到服务器。图2示意性地图示了现有技术中利用代理来实现跨域访问的视图。如图2所示,首先由客户端向代理发起请求,代理在接收到请求之后向web服务器发起请求。接着,web服务接收、处理该请求,并将结果返回代理。最后,代理将结果返回客户端。根据情况,可以在客户端和web服务器两端均配置代理。例如,在公开号为CN101615179A、题为“用于web应用的跨域交互的方法和系统”的专利申请中,在客户端和web服务器两端均配置代理的情况下,通过使用一个隐藏的iframe通过表单提交的方式来回刷新页面来进行交互,该方案强调数据的传递和处理并且只解决了跨域的web数据交互问题。使用代理的这种方法虽然使用广泛,但是不够灵活而且会受到服务器性能的限制。
另外,document.domain方案通过修改文档的域(domain)属性,使得可以在域和子域或者不同的子域之间通信。同域策略认为域和子域隶属于不同的域,比如www.a.com和sub.a.com是不同的域,这时,我们无法在www.a.com下的页面中调用sub.a.com中定义的JavaScript(JS)方法。但是当我们把它们document的domain属性都修改为a.com,浏览器就会认为它们处于同一个域下,那么我们就可以互相调用对方的方法来通信了。使用JS设置需要交互的两个网页的document.domain相同。实现相互之间的JS脚本访问。这种方案的缺陷是只能应用于同一个域下的二级域名之间的应用,也就是主域相同而二级域名不同的情况下,而不能使用在完全不同的两个域下。另外,当一个站点被攻击后,另一个站点会引起安全漏洞。
此外,还可以使用HTML5中的WebSocket。这种方案的缺陷是只能在少数支持HTML5的浏览器中应用,并且不支持IE6/IE7/IE8这样的主流浏览器。
因此,为了使web应用能够动态访问其他域的数据和服务,需要一种能够更安全、方便地实现跨域交互访问的方法和系统。
发明内容
实现JS跨域访问需要解决以下问题:如何动态地获取跨域服务器中的数据;如何创建标签和设置标签的内容,以便保证良好的浏览器兼容性;以及如何保证标签的内容中引用外部文件的地址有效。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东世纪贸易有限公司,未经北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210590153.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种8字轨迹无碳小车
- 下一篇:一种安全压杠锁紧装置