客户端跨域请求网络资源的方法和装置制造方法及图纸

技术编号:11128613 阅读:137 留言:0更新日期:2015-03-11 17:51
本发明专利技术公开了一种客户端跨域请求网络资源的方法和装置。其中,该方法包括:第一服务器接收客户端发送的异步网页请求,其中,异步网页请求中携带有第二服务器的网络资源地址,其中,第一服务器与客户端属于第一域;获取异步网页请求中的服务器标志位;若服务器标志位指示第二服务器属于第二域,则第一服务器提取网络资源地址生成网络资源请求,其中,第一域与第二域为不同的域;将网络资源请求转发至第二服务器;将接收到的第二服务器的响应数据发送至客户端,其中,响应数据中携带有网络资源地址对应的网络资源。通过本发明专利技术,解决了现有技术中跨域请求网络资源操作繁琐且效率低的问题,达到了客户端对跨域网络资源的快速且高效的访问的效果。

【技术实现步骤摘要】
客户端跨域请求网络资源的方法和装置
本专利技术涉及互联网领域,具体而言,涉及一种客户端跨域请求网络资源的方法和 >J-U ρ?α装直。
技术介绍
目前,第二代互联网Web2.0的到来,使得AJAX技术得到广泛的运用,而AJAX技术的核心是JavaScript对象XmlHttpRequest,它是一种支持异步请求的技术,用户可以使用JavaScript向服务器提出请求并得到响应,同时不会影响其他用户的使用。但是在实际运用中,AJAX技术是通过XMLHttpRequest对象来进行数据的交互的,当用户需要访问其他域的页面内容时,浏览器出于安全性的考虑,不允许JS代码进行跨域操作。针对上述问题,现行的解决方案有如下五种: 方案一 JSONP方式:利用HTML的script标签加载并执行其他域JavaScript文件。站点B把要提供的数据作为参数传给一个站点A定义的全局函数,站点A可以通过引用这个包含上述参数的JS文件跨域获取数据。这个方案的缺点是:不支持POST,同时需要在目标服务器上增加额外文件。 方案二:利用IFRAME的window, name的方式:通过在IFRAME中加载一个资源,在目标页面设置其name属性,而此name属性值可被其他域获取到,以访问Web服务发送的信息。这个方案的缺点是:它要求服务器端返回一段HTML代码,同时必须有JS代码指定window, name =”返回的值”,且该方案只支持Get请求。 方案三:利用HTML5的postMessage的方式:通过postMessage O方法允许来自不同源的脚本采用异步方式进行有限的通信,以此来实现跨文本档、多窗口、跨域消息传递。这个方案的缺点是:该方案具有局限性,只能应用于HTML5中。 方案四:利用IFRAME与locat1n, hash相结合的方式:其原理是改变locat1n,hash中的hash值来进行数据传递。具体是修改在URL中的locat1n, hash的hash值,而改变hash值并不会导致页面刷新,所以可以通过hash值来进行数据传递。这个方案的缺点是:能够传递的数据容量和类型都有限,且传递的数据直接暴露在了 URL中,使得数据的传输安全会面临问题。 方案五:利用Flash跨域的方式:其原理是利用flash的URLLoader,具体是只要站点B的跨域策略文件中包含了站点A, A站点就可以获取B站点的数据。这个方案的缺点是:限制条件过多,在使用该方式时需要依赖Flash,且需要在站点服务器目录下放置crossdomain, xml 文件。 由上述现行方案可知,当前处理跨域请求网络资源的方案存在限制条件较多、操作繁琐、处理效率低以及局限性较大的问题。 针对现有技术中跨域请求网络资源操作繁琐且效率低的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术的主要目的在于提供一种客户端跨域请求网络资源的方法和装置,以解决现有技术中跨域请求网络资源操作繁琐且效率低的问题。 为了实现上述目的,根据本专利技术实施例的一个方面,提供了一种客户端跨域请求网络资源的方法。 根据本专利技术的客户端跨域请求网络资源的方法包括:第一服务器接收客户端发送的异步网页请求,其中,异步网页请求中携带有请求访问的网络资源地址,其中,第一服务器与客户端属于第一域;获取异步网页请求中的服务器标志位;若服务器标志位指示第二服务器属于第二域,则第一服务器提取网络资源地址生成网络资源请求,其中,第一域与第二域为不同的域;将网络资源请求转发至第二服务器;将接收到的第二服务器的响应数据发送至客户端,其中,响应数据中携带有网络资源地址对应的网络资源。 进一步地,在获取异步网页请求中的服务器标志位之后,方法包括:判断服务器标志位是否为预设值;若服务器标志位为预设值,则确定服务器标志位指示第二服务器属于第二域;若服务器标志位不为预设值,则确定服务器标志位指示第二服务器属于第一域。 进一步地,在确定服务器标志位指示第二服务器属于第一域之后,方法还包括:第一服务器从异步网页请求中解析出第二服务器的IP地址;将异步网页请求转发至具有IP地址的第二服务器。 进一步地,将接收到的第二服务器的响应数据发送至客户端包括:在接收到第二服务器的响应数据之后,将响应数据解析为预设格式的解析数据;将解析数据发送至客户端。 进一步地,在第一服务器接收客户端发送的异步网页请求之前,方法还包括:客户端使用服务器标志位和网络资源地址构建异步网页请求;将异步网页请求发送至第一服务器。 为了实现上述目的,根据本专利技术实施例的另一方面,提供了一种客户端跨域请求网络资源的装置。 根据本专利技术的客户端跨域请求网络资源的装置包括:接收模块,用于第一服务器接收客户端发送的异步网页请求,其中,异步网页请求中携带有请求访问的网络资源地址,其中,第一服务器与客户端属于第一域;获取模块,用于获取异步网页请求中的服务器标志位;生成模块,用于若服务器标志位指示第二服务器属于第二域,则第一服务器提取网络资源地址生成网络资源请求,其中,第一域与第二域为不同的域;第一转发模块,用于将网络资源请求转发至第二服务器;第一发送模块,用于将接收到的第二服务器的响应数据发送至客户端,其中,响应数据中携带有网络资源地址对应的网络资源。 进一步地,装置包括:第一判断模块,用于在获取异步网页请求中的服务器标志位之后,判断服务器标志位是否为预设值;第一确定模块,用于若服务器标志位为预设值,则确定服务器标志位指示第二服务器属于第二域;第二确定模块,用于若服务器标志位不为预设值,则确定服务器标志位指示第二服务器属于第一域。 进一步地,装置还包括:解析模块,用于在确定服务器标志位指示第二服务器属于第一域之后,第一服务器从异步网页请求中解析出第二服务器的IP地址;第二转发模块,用于将异步网页请求转发至具有IP地址的第二服务器。 进一步地,第一发送模块包括:解析子模块,用于在接收到第二服务器的响应数据之后,将响应数据解析为预设格式的解析数据;第一发送子模块,用于将解析数据发送至客户端。 进一步地,装置还包括:构建模块,用于在第一服务器接收客户端发送的异步网页请求之前,客户端使用服务器标志位和网络资源地址构建异步网页请求;第二发送模块,用于将异步网页请求发送至第一服务器。 采用本专利技术,当第一服务器接收到客户端发送的异步网页请求时,根据该请求中包含的服务器标志位判断请求访问的网络资源在第一域或者第二域,若服务器标志位指示请求的网络资源在第二域,则由第一服务器代理将该异步网页请求转发至第二服务器,在第二服务器下发该请求的响应数据至第一服务器之后,由第一服务器将响应数据下发至客户端。采用本专利技术,解决了现有技术中跨域请求网络资源操作繁琐且效率低的问题,从而达到了客户端对跨域网络资源的快速且高效的访问的效果。 【附图说明】 构成本申请的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中: 图1是根据本专利技术实施例的客户端跨域请求网络资源的方法的流程图; 图2是根据本专利技术实施例的一种可选的客户端跨域请求网络资源的方法的示意本文档来自技高网
...

【技术保护点】
一种客户端跨域请求网络资源的方法,其特征在于,包括:第一服务器接收客户端发送的异步网页请求,其中,所述异步网页请求中携带有请求访问的网络资源地址,其中,所述第一服务器与所述客户端属于第一域;获取所述异步网页请求中的服务器标志位;若所述服务器标志位指示第二服务器属于第二域,则所述第一服务器提取所述网络资源地址生成网络资源请求,其中,所述第一域与所述第二域为不同的域;将所述网络资源请求转发至所述第二服务器;将接收到的所述第二服务器的响应数据发送至所述客户端,其中,所述响应数据中携带有所述网络资源地址对应的网络资源。

【技术特征摘要】
1.一种客户端跨域请求网络资源的方法,其特征在于,包括: 第一服务器接收客户端发送的异步网页请求,其中,所述异步网页请求中携带有请求访问的网络资源地址,其中,所述第一服务器与所述客户端属于第一域; 获取所述异步网页请求中的服务器标志位; 若所述服务器标志位指示第二服务器属于第二域,则所述第一服务器提取所述网络资源地址生成网络资源请求,其中,所述第一域与所述第二域为不同的域; 将所述网络资源请求转发至所述第二服务器; 将接收到的所述第二服务器的响应数据发送至所述客户端,其中,所述响应数据中携带有所述网络资源地址对应的网络资源。2.根据权利要求1所述的方法,其特征在于,在获取所述异步网页请求中的服务器标志位之后,所述方法包括: 判断所述服务器标志位是否为预设值; 若所述服务器标志位为预设值,则确定所述服务器标志位指示所述第二服务器属于所述第二域; 若所述服务器标志位不为预设值,则确定所述服务器标志位指示所述第二服务器属于所述第一域。3.根据权利要求2所述的方法,其特征在于,在确定所述服务器标志位指示所述第二服务器属于所述第一域之后,所述方法还包括: 所述第一服务器从所述异步网页请求中解析出所述第二服务器的IP地址; 将所述异步网页请求转发至具有所述IP地址的所述第二服务器。4.根据权利要求1至3中任意一项所述的方法,其特征在于,将接收到的所述第二服务器的响应数据发送至所述客户端包括: 在接收到所述第二服务器的响应数据之后,将所述响应数据解析为预设格式的解析数据; 将所述解析数据发送至所述客户端。5.根据权利要求1至3中任意一项所述的方法,其特征在于,在第一服务器接收客户端发送的异步网页请求之前,所述方法还包括: 所述客户端使用服务器标志位和网络资源地址构建所述异步网页请求; 将所述异步网页请求发送至所述第一服务器。6.一种客户端跨域请求网络资源的装置,其特征在于,包括: 接收模块,用于第一服务器接收客户端发送...

【专利技术属性】
技术研发人员:李庆
申请(专利权)人:北京国双科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1