[发明专利]跨域数据获取的方法与装置有效
申请号: | 201210057867.1 | 申请日: | 2012-03-07 |
公开(公告)号: | CN103309861B | 公开(公告)日: | 2018-04-10 |
发明(设计)人: | 王保平 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L29/08 |
代理公司: | 北京亿腾知识产权代理事务所11309 | 代理人: | 陈霁 |
地址: | 英国开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 获取 方法 装置 | ||
技术领域
本申请涉及互联网数据加载领域,尤其涉及一种跨域数据获取的方法与装置。
背景技术
目前,基于同源策略,在浏览器端,位于服务器1上的页面无法与跨域的服务器进行数据之间的交换,但超文本标记语言(HyperText Markup Language,HTML)的<script>元素(脚本标签元素)是一个例外。通过利用HTML中的<script>元素,服务器1上的页面可以获取其他服务器上动态产生的JSON数据,这种数据跨域交换模式就是JSONP模式,所述同源策略为浏览器与服务器的域名,协议和端口均相同时,才可以相互访问。
JSONP(JavaScript Object Notation with Padding)是数据格式JSON的一种“使用模式”。在浏览器端,位于服务器1上的页面在需要获取其他服务器上的数据时,会发起一个JSONP请求,每发起一个JSONP请求,都需要一个script元素。因此,浏览器必须为每一个JSONP请求创建一个新的包含src属性值的<script>元素到HTML DOM里,或者说是“注入”这个元素。浏览器会解析该<script>元素中的src属性,下载src属性指明的URL,并执行返回的JSONP脚本代码。因此,JSONP被称作是一种“让使用者利用<script>元素注入的方式来绕开同源策略”的方法。
在现有技术中,例如服务器1上的页面http://www.server1.com,想要获取服务器2上的数据内容,假设获取服务器2上数据内容的URL为http://server2.com/RetrieveUser?UserID=xxx;如果UserID的值为1823,则URL为http://server2.com/RetrieveUser?UserID=1823,服务器1上的页面会通过浏览器请求上面这个URL来获取服务器2上的数据内容,在服务器1上的页面中会创建一个新的包含src属性值的<script>元素到HTML DOM里,假设<script>元素为:<script
src=“http://server2.com/RetrieveUserID=1823&jsonp=parseResponse”>
</script>
则服务器1上的页面通过<script>元素获取的数据内容为parseResponse({“Name”:“Cheeso”,“ID”:1823,“Rank”:7})。
上面描述的方案,需要借助HTML的<script>元素获取URL中的数据内容,获取成功后再将数据内容传给全局回调函数。回调函数是全局的,这会污染JavaScript代码的全局命名空间,当项目很复杂时,有可能会导致命名冲突,增加开发成本。
此外,开发和测试方在工作时需要依赖事先约定的全局回调函数名,存在文档书写和协作沟通成本,会降低工作效率。
再者,由于要将回调函数名写在请求的URL中,如果代码处理不当,会存在JavaScript注入漏洞,影响网站安全。
另外,服务器输出的JSONP脚本代码中的回调函数名是动态的,这意味着不利于固定数据的静态缓存,容易对网站的性能造成不利影响。
上述状况使得JSONP方案存在不少弊端。如何找出既能方便快捷地跨域,又能简化调用方式、保障网站安全、以及有利于性能优化的数据交换方式是跨域获取数据内容的关键。
发明内容
本申请的目的是提供一种跨域数据获取的方法与装置,通过精确获取跨域的数据内容,以简化调用方式、保障网站安全、并提高跨域获取数据的效率。
为实现上述目的,本申请提供了一种跨域数据获取的方法,该方法包括:
浏览器在当前访问的第一服务器的页面中载入模块加载器,所述模块加载器用于对不同域服务器之间的数据内容进行加载和调用;
向第二服务器发送请求信息,以指示所述第二服务器发送所述页面所需的数据内容;
接收所述第二服务器发送的、包括对所述所需的数据内容进行数据模块定义后获得的数据模块的内容,所述模块加载器根据所述数据模块的内容解析所述数据模块,以在所述当前访问的第一服务器的页面中调用所述第二服务器的数据内容。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210057867.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种动态表情处理方法及装置
- 下一篇:一种出租车翻译机系统
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置