[发明专利]跨域数据获取的方法与装置有效

专利信息
申请号: 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方案存在不少弊端。如何找出既能方便快捷地跨域,又能简化调用方式、保障网站安全、以及有利于性能优化的数据交换方式是跨域获取数据内容的关键。

发明内容

本申请的目的是提供一种跨域数据获取的方法与装置,通过精确获取跨域的数据内容,以简化调用方式、保障网站安全、并提高跨域获取数据的效率。

为实现上述目的,本申请提供了一种跨域数据获取的方法,该方法包括:

浏览器在当前访问的第一服务器的页面中载入模块加载器,所述模块加载器用于对不同域服务器之间的数据内容进行加载和调用;

向第二服务器发送请求信息,以指示所述第二服务器发送所述页面所需的数据内容;

接收所述第二服务器发送的、包括对所述所需的数据内容进行数据模块定义后获得的数据模块的内容,所述模块加载器根据所述数据模块的内容解析所述数据模块,以在所述当前访问的第一服务器的页面中调用所述第二服务器的数据内容。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210057867.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top