[发明专利]网络客户端跨域请求数据的实现方法、装置及终端在审
申请号: | 201310521118.4 | 申请日: | 2013-10-29 |
公开(公告)号: | CN103546570A | 公开(公告)日: | 2014-01-29 |
发明(设计)人: | 任远;姚丽梅;王宗妮 | 申请(专利权)人: | 小米科技有限责任公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/12;G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市海淀区清*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 网络 客户端 请求 数据 实现 方法 装置 终端 | ||
技术领域
本公开涉及网络技术领域,尤其涉及网络客户端跨域请求数据的实现方法、装置及终端。
背景技术
随着互联网技术的发展,各个公司、各个团体之间的项目合作变得越来越紧密,数据共享和数据互通变得越来越多。与此同时,跨域数据访问(各个公司之间的网站,一般不会共享同一个域名)变得越来越频繁。跨域数据访问方案也是层出不穷,但是多数都要借助于服务器来完成。
目前实现跨域数据访问的方案有如下几种:
使用JSONP(JSON with Padding,资料格式json的一种使用模式)来实现跨域数据访问:JSONP可以实现跨父域的HTTP(Hyper Text Transport Protocol,超文本传送协议)GET(一种表示获取的函数命令)请求,原理是在页面中插入一个script HTML(Hypertext Markup Language,超文本标记语言)IFRAME(嵌入式框架),并设置IFRAME的src(源文件)属性到需要请求数据的服务器地址。数据返回时,数据被当作一个javascript变量传递回来被客户端获取。但是,使用JSONP方案来实现跨域数据访问,不能对服务器执行一个HTTP POST请求,也就是对于这种方案来说,能够发送的数据量是有限的。同时由于是使用一个Script HTML IFRAME来发送GET请求,请求过程中服务器的状态不能被获取,只能得到最终的返回结果。
使用服务器转发来实现跨域数据访问:使用服务器转发规避了网络客户端不能很好实现跨域的问题。该方案通过一个域下的服务器向另一个域下的服务器发送请求(服务器之间发送请求不受域的限制),从而实现跨越数据访问。但是,这种方案最大的问题在于提高了项目合作的门槛和复杂度,不仅需要客户端工程师参与到项目中,还需要服务器的工程师参与。
使用HTML5技术来实现跨域访问:在HTML5中可以使用xmlHttpRequest2(一种接口函数)或者postMessage(一种接口函数)接口实现数据跨越请求。通过创建一个xmlHttpRequest2对象,可以像传统的ajax(使用脚本中内置对象发送异步请求)方式一样,向服务器请求数据,并请求数据,但前提是服务器返回的数据头中必须设置Access-Control-Allow-Origin(Httpheader中的一个key)的值为*(代表没有限制)或者设置为可以访问的该服务器数据的域。这种方案受限于用户所使用的浏览器,如果用户使用的浏览器不支持HTML5技术,那么这种方案就会完全失效,这种方案的平台兼容性不容乐观,目前只被部分移动端网站所支持(移动端浏览器对HTML5支持通常较为友好)。
可见,目前的实现跨域数据访问的方案存在发送的数据量有限、实现难度较大、平台兼容性较差的问题。
发明内容
本公开提供了一种网络客户端跨域请求数据的实现方法、装置及终端,用以解决目前的实现跨域数据访问的方案存在发送的数据量有限、实现难度较大、平台兼容性较差的问题。
一方面,本公开提供了一种网络客户端跨域请求数据的实现方法,包括:
当检测到从第一域向第二域请求数据的数据请求时,根据数据请求信息生成哈希值,并替换第一域的网络页面嵌入式框架的哈希值;其中,所述嵌入式框架为预先在所述第一域的网络页面下创建,且所述嵌入式框架的源文件指向所述第二域的静态超文本标记语言HTML页面;
将所述第二域返回的被请求数据存储在所述嵌入式框架的特定变量中;
通过访问所述嵌入式框架的一特定变量获取来自所述第二域的被请求数据,其中,所述特定变量的值不随浏览器网页地址的变化而变化、且直到所述浏览器会话结束时消除。
所述根据数据请求信息生成哈希值,并替换第一域的网络页面嵌入式框架的哈希值,包括:
根据数据请求信息,通过脚本动态生成哈希值;
将生成的哈希值替换第一域的网络页面嵌入式框架的哈希值。
本公开还提供了一种网络客户端跨域请求的实现方法,包括:
获取第一域的网络页面嵌入式框架的变化后的哈希值,所述变化后的哈希值包括数据请求信息,所述第一域为请求数据方所在域;
根据所述数据请求信息向第二域请求数据;
接收所述第二域返回的被请求数据,并将所述被请求数据保存在所述第一域的网络页面嵌入式框架的一特定变量中,所述特定变量的值不随浏览器网页地址的变化而变化、且直到所述浏览器会话结束时消除;
将所述第一域的网络页面嵌入式框架的页面地址设置为所述第一域的静态HTML页面地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于小米科技有限责任公司,未经小米科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310521118.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种开胃降血压组合物
- 下一篇:包括含钙化合物和糖醇的微粒
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置