CN104410711A - 客户端跨域请求网络资源的方法和装置 - Google Patents

客户端跨域请求网络资源的方法和装置 Download PDF

Info

Publication number
CN104410711A
CN104410711A CN201410779427.6A CN201410779427A CN104410711A CN 104410711 A CN104410711 A CN 104410711A CN 201410779427 A CN201410779427 A CN 201410779427A CN 104410711 A CN104410711 A CN 104410711A
Authority
CN
China
Prior art keywords
server
request
client
flag bit
web page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410779427.6A
Other languages
English (en)
Inventor
李庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201410779427.6A priority Critical patent/CN104410711A/zh
Publication of CN104410711A publication Critical patent/CN104410711A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

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

Description

客户端跨域请求网络资源的方法和装置
技术领域
本发明涉及互联网领域,具体而言,涉及一种客户端跨域请求网络资源的方法和装置。
背景技术
目前,第二代互联网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()方法允许来自不同源的脚本采用异步方式进行有限的通信,以此来实现跨文本档、多窗口、跨域消息传递。这个方案的缺点是:该方案具有局限性,只能应用于HTML5中。
方案四:利用IFRAME与location.hash相结合的方式:其原理是改变location.hash中的hash值来进行数据传递。具体是修改在URL中的location.hash的hash值,而改变hash值并不会导致页面刷新,所以可以通过hash值来进行数据传递。这个方案的缺点是:能够传递的数据容量和类型都有限,且传递的数据直接暴露在了URL中,使得数据的传输安全会面临问题。
方案五:利用Flash跨域的方式:其原理是利用flash的URLLoader,具体是只要站点B的跨域策略文件中包含了站点A,A站点就可以获取B站点的数据。这个方案的缺点是:限制条件过多,在使用该方式时需要依赖Flash,且需要在站点服务器目录下放置crossdomain.xml文件。
由上述现行方案可知,当前处理跨域请求网络资源的方案存在限制条件较多、操作繁琐、处理效率低以及局限性较大的问题。
针对现有技术中跨域请求网络资源操作繁琐且效率低的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种客户端跨域请求网络资源的方法和装置,以解决现有技术中跨域请求网络资源操作繁琐且效率低的问题。
为了实现上述目的,根据本发明实施例的一个方面,提供了一种客户端跨域请求网络资源的方法。
根据本发明的客户端跨域请求网络资源的方法包括:第一服务器接收客户端发送的异步网页请求,其中,异步网页请求中携带有请求访问的网络资源地址,其中,第一服务器与客户端属于第一域;获取异步网页请求中的服务器标志位;若服务器标志位指示第二服务器属于第二域,则第一服务器提取网络资源地址生成网络资源请求,其中,第一域与第二域为不同的域;将网络资源请求转发至第二服务器;将接收到的第二服务器的响应数据发送至客户端,其中,响应数据中携带有网络资源地址对应的网络资源。
进一步地,在获取异步网页请求中的服务器标志位之后,方法包括:判断服务器标志位是否为预设值;若服务器标志位为预设值,则确定服务器标志位指示第二服务器属于第二域;若服务器标志位不为预设值,则确定服务器标志位指示第二服务器属于第一域。
进一步地,在确定服务器标志位指示第二服务器属于第一域之后,方法还包括:第一服务器从异步网页请求中解析出第二服务器的IP地址;将异步网页请求转发至具有IP地址的第二服务器。
进一步地,将接收到的第二服务器的响应数据发送至客户端包括:在接收到第二服务器的响应数据之后,将响应数据解析为预设格式的解析数据;将解析数据发送至客户端。
进一步地,在第一服务器接收客户端发送的异步网页请求之前,方法还包括:客户端使用服务器标志位和网络资源地址构建异步网页请求;将异步网页请求发送至第一服务器。
为了实现上述目的,根据本发明实施例的另一方面,提供了一种客户端跨域请求网络资源的装置。
根据本发明的客户端跨域请求网络资源的装置包括:接收模块,用于第一服务器接收客户端发送的异步网页请求,其中,异步网页请求中携带有请求访问的网络资源地址,其中,第一服务器与客户端属于第一域;获取模块,用于获取异步网页请求中的服务器标志位;生成模块,用于若服务器标志位指示第二服务器属于第二域,则第一服务器提取网络资源地址生成网络资源请求,其中,第一域与第二域为不同的域;第一转发模块,用于将网络资源请求转发至第二服务器;第一发送模块,用于将接收到的第二服务器的响应数据发送至客户端,其中,响应数据中携带有网络资源地址对应的网络资源。
进一步地,装置包括:第一判断模块,用于在获取异步网页请求中的服务器标志位之后,判断服务器标志位是否为预设值;第一确定模块,用于若服务器标志位为预设值,则确定服务器标志位指示第二服务器属于第二域;第二确定模块,用于若服务器标志位不为预设值,则确定服务器标志位指示第二服务器属于第一域。
进一步地,装置还包括:解析模块,用于在确定服务器标志位指示第二服务器属于第一域之后,第一服务器从异步网页请求中解析出第二服务器的IP地址;第二转发模块,用于将异步网页请求转发至具有IP地址的第二服务器。
进一步地,第一发送模块包括:解析子模块,用于在接收到第二服务器的响应数据之后,将响应数据解析为预设格式的解析数据;第一发送子模块,用于将解析数据发送至客户端。
进一步地,装置还包括:构建模块,用于在第一服务器接收客户端发送的异步网页请求之前,客户端使用服务器标志位和网络资源地址构建异步网页请求;第二发送模块,用于将异步网页请求发送至第一服务器。
采用本发明,当第一服务器接收到客户端发送的异步网页请求时,根据该请求中包含的服务器标志位判断请求访问的网络资源在第一域或者第二域,若服务器标志位指示请求的网络资源在第二域,则由第一服务器代理将该异步网页请求转发至第二服务器,在第二服务器下发该请求的响应数据至第一服务器之后,由第一服务器将响应数据下发至客户端。采用本发明,解决了现有技术中跨域请求网络资源操作繁琐且效率低的问题,从而达到了客户端对跨域网络资源的快速且高效的访问的效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的客户端跨域请求网络资源的方法的流程图;
图2是根据本发明实施例的一种可选的客户端跨域请求网络资源的方法的示意图;以及
图3是根据本发明实施例的客户端跨域请求网络资源的装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本发明实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
Web2.0:Web2.0是相对Web1.0的新的时代。指的是一个利用Web的平台,由用户主导而生成的内容互联网产品模式,为了区别传统由网站雇员主导生成的内容而定义为第二代互联网,即web2.0。
JavaScript:一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
JS文件:用脚本语言JavaScript编写的脚本文件。
JS代码:使用脚本语言JavaScript编写的脚本文件的代码。
AJAX:英文全称是Asynchronous JavaScript And XML,是指一种创建交互式网页应用的网页开发技术。传统的网页(不使用AJAX技术)如果需要更新内容,必须重载整个网页面。使用AJAX技术时,通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新,这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
URL:英文全称是Uniform Resource Loader,中文名称是统一资源定位符。是对可以从互联网上得到的资源的位置和访问方法的一种简洁的标示,是互联网上标准资源的地址。
HTML:英文全称是HyperText Mark-up Language,中文名称是超文本标记语言或超文本链接标示语言。HTML是一种制作万维网页面的标准语言,是万维网浏览器使用的一种语言,它消除了不同计算机之间信息交流的障碍。
JSONP:是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。
IFRAME:是HTML标签,作用于文档中的文档,或者浮动的框架(FRAME)。
本发明实施例提供了一种客户端跨域请求网络资源的方法。图1是根据本发明实施例的客户端跨域请求网络资源的方法的流程图。如图1所示,该方法可以包括步骤如下:
步骤S102,第一服务器接收客户端发送的异步网页请求,其中,异步网页请求中携带有请求访问的网络资源地址,其中,第一服务器与客户端属于第一域。
步骤S104,获取异步网页请求中的服务器标志位。
步骤S106,若服务器标志位指示第二服务器属于第二域,则第一服务器提取网络资源地址生成网络资源请求,其中,第一域与第二域为不同的域。
步骤S108,将网络资源请求转发至第二服务器。
步骤S110,将接收到的第二服务器的响应数据发送至客户端,其中,响应数据中携带有网络资源地址对应的网络资源。
采用本发明,当第一服务器接收到客户端发送的异步网页请求时,根据该请求中包含的服务器标志位判断请求访问的网络资源在第一域或者第二域,若服务器标志位指示请求的网络资源在第二域,则由第一服务器代理将该异步网页请求转发至第二服务器,在第二服务器下发该请求的响应数据至第一服务器之后,由第一服务器将响应数据下发至客户端。采用本发明,解决了现有技术中跨域请求网络资源操作繁琐且效率低的问题,从而达到了客户端对跨域网络资源的快速且高效的访问的效果。
通过上述实施例,通过在本域(即第一域)的服务端(即上述的第一服务器)代理的方式来完成跨域请求,从而可以避免客户端方式的各种条件限制。
在本发明的上述实施例中,在第一服务器接收客户端发送的异步网页请求之前,方法还可以包括:客户端使用服务器标志位和网络资源地址构建异步网页请求;将异步网页请求发送至第一服务器。
可选地,该实施例中第一域的服务器标志位为0,第二域的服务器标志位为1。
在上述实施例中,若第一服务器接收到的异步网页请求的服务器标志位为1,则判断出该请求的网络资源在第二域。
下面结合图2详述上述实施例,图2是根据本发明实施例的一种客户端跨域请求网络资源的方法的示意图。如图2所示:
步骤S202,客户端60向第一服务器70发送异步网页请求。具体地,如果该请求请求的是第二域的网络资源,如,www.baidu.com,则在该异步网页请求中设置网络资源的URL地址(即统一资源定位符,也即上述的网络资源地址),并设置该请求的服务器标志位为1,然后将生成的该异步网页请求发送到第一服务器。其中,第二域的网络资源可以是第三方服务的网络资源,第一服务器可以是代理服务器。
可选地,异步网页请求可以为Ajax请求(即Asynchronous Javascript And XML异步Javascript和XML),即一种创建交互式网页应用的网页开发技术。
XML即标准通用标记语言的子集。
在本发明的上述实施例中,通过在异步网页请求中添加服务器标志位,可以使第一服务器快速判断出该请求的目标服务器,从而对该请求进行快速的处理,这样客户端对跨域网络资源的请求就能得到快速的响应。
在本发明的上述实施例中,在获取异步网页请求中的服务器标志位之后,方法还可以包括:判断服务器标志位是否为预设值;若服务器标志位为预设值,则确定服务器标志位指示第二服务器属于第二域;若服务器标志位不为预设值,则确定服务器标志位指示第二服务器属于第一域。
在该实施例中,预设值即为1,将与客户端不同域的服务器标志位可以置为1,则服务器标志位为1,则确定该第二服务器属于第二域;否则,确定第二服务器属于第一域。
在本发明的上述实施例中,在确定服务器标志位指示第二服务器属于第一域之后,方法还可以包括:第一服务器从异步网页请求中解析出第二服务器的IP地址;将异步网页请求转发至具有IP地址的第二服务器。
下面结合图2中步骤S204详述本实施例:
步骤S204,第一服务器端截获客户端所发送的异步网页请求之后,根据该请求中的服务器标志位来判断请求所访问的网络资源是否属于第二域,如果服务器标志位为1,则判断出该请求所对应的第二服务器(即目标服务器)属于第二域,则提取网络资源的URL,生成网络资源请求,然后将该网络资源请求转发给该URL对应的第二服务器(即目标服务器)。
可选地,第一服务器拦截异步网页请求之后,若该请求访问的第二服务器与客户端位于同一域,则可以对异步网页请求进行解析得到第二服务器的IP地址,按照IP地址转发至同一域的第二服务器。
在本发明的上述实施例中,经过步骤S204,能够通过第一服务器判断出客户端的请求是否为对第二域网络资源的请求,若第二服务器属于第二域,则提取出请求中的网络资源地址,这样就可以通过第一服务器代理访问目标的网络资源,避免了直接使用客户端对第二域网络资源进行请求时的繁琐操作,使客户端对跨域网络资源的请求得到快速的响应。
在本发明的上述实施例中,步骤S110(如图1所示),将接收到的第二服务器的响应数据发送至客户端可以包括:在接收到第二服务器的响应数据之后,将响应数据解析为预设格式的解析数据;将解析数据发送至客户端。
如图2所示,可以通过步骤S206实现上述实施例:
步骤S206,第二服务器返回网络资源请求的响应数据至第一服务器。
具体地,第二服务器根据第一服务器转发的异步网页请求中的网络资源地址对目标的网络资源进行访问,然后将获取的响应数据下发至第一服务器,其中第二服务器可以是第三方WEB服务器。
步骤S208,第一服务器将响应数据进行解析后下发到客户端。
具体地,目标服务器(即第二服务器)返回响应数据,本地代理服务器(即第一服务器)接受响应数据后,本地代理服务器可以对响应数据进行解析处理,得到预设格式的解析数据(如,文本格式),将解析数据发送到客户端。
根据本发明的上述实施例,对于客户端对第二域的网络资源的请求,可以转换为第一服务器对第二域的网络资源的请求,然后由第一服务器对接收到的第二服务器的响应数据之后下发至客户端,这样就避免了直接使用客户端对第二域网络资源进行请求时的繁琐操作,使得客户端对第二域的网络资源的请求得到快速的响应。
通过本发明实施例,只需要让服务器端(如与客户端属于同一域的服务器)构造请求代理,通过这个代理来访问其他域名下的资源,然后在浏览器端获取服务器端跨域访问的结果,既可以解决Post,Get的限制,同时也能够解决所有前端的跨域访问限制。前端开发人员只要向代理服务器传递请求的跨域资源,就能实现跨域请求,相对其他前端手段,开发难度大大降低。
本发明实施例还提供了一种客户端跨域请求网络资源的装置。如图3所示,该装置可以包括如下模块:接收模块10、获取模块20、生成模块30、第一转发模块40以及第一发送模块50。
其中,接收模块,用于第一服务器接收客户端发送的异步网页请求,其中,异步网页请求中携带有请求访问的网络资源地址(即目标的网络资源的网络资源地址,如URL),其中,第一服务器与客户端属于第一域;获取模块,用于获取异步网页请求中的服务器标志位;生成模块,用于若服务器标志位指示第二服务器属于第二域,则第一服务器提取网络资源地址生成网络资源请求,其中,第一域与第二域为不同的域;第一转发模块,用于将网络资源请求转发至第二服务器;第一发送模块,用于将接收到的第二服务器的响应数据发送至客户端,其中,响应数据中携带有网络资源地址对应的网络资源。
采用本发明,当接收模块接收到客户端发送至第一服务器的异步网页请求时,获取模块根据该请求中包含的服务器标志位判断请求访问的网络资源在第一域或者第二域,若服务器标志位指示请求的网络资源在第二域,则生成模块根据该请求信息生成网络资源请求,然后第一转发模块将第一服务器生成的网络资源请求转发至第二服务器,在第二服务器下发该请求的响应数据至第一服务器之后,由第一发送模块将第一服务器接收到的响应数据下发至客户端。采用本发明,解决了现有技术中跨域请求网络资源操作繁琐且效率低的问题,从而达到了客户端对跨域网络资源的快速且高效的访问的效果。
在本发明的上述实施例中,该装置还可以包括:构建模块,用于在第一服务器接收客户端发送的异步网页请求之前,客户端使用服务器标志位和网络资源地址构建异步网页请求;第二发送模块,用于将异步网页请求发送至第一服务器。
通过上述实施例中,在异步网页请求中添加服务器标志位,可以使第一服务器快速判断该请求目标服务器,从而对该请求进行快速的处理,这样客户端对跨域网络资源的请求就能得到快速的响应。
在本发明的上述实施例中,该装置还可以包括:第一判断模块,用于在获取异步网页请求中的服务器标志位之后,判断服务器标志位是否为预设值;第一确定模块,用于若服务器标志位为预设值,则确定服务器标志位指示第二服务器属于第二域;第二确定模块,用于若服务器标志位不为预设值,则确定服务器标志位指示第二服务器属于第一域。
在本发明的上述实施例中,该装置还可以包括:解析模块,用于在确定服务器标志位指示第二服务器属于第一域之后,第一服务器从异步网页请求中解析出第二服务器的IP地址;第二转发模块,用于将异步网页请求转发至具有IP地址的第二服务器。
在本发明的上述实施例中,通过解析模块的分析,能够快速判断出客户端的请求是否为对第二域网络资源的请求,若该请求为第二域网络资源的请求,即第二服务器属于第二域,则需提取出请求之中所包含的第二服务器的IP地址,再根据上述IP将请求转发至第二服务器,避免了直接使用客户端对第二域网络资源进行请求时的繁琐操作,使客户端对跨域网络资源的请求得到快速的响应。
在本发明的上述实施例中,第一发送模块可以包括:解析子模块,用于在接收到第二服务器的响应数据之后,将响应数据解析为预设格式的解析数据;第一发送子模块,用于将解析数据发送至客户端。
本实施例中所提供的各个模块与方法实施例对应步骤所提供的使用方法相同、应用场景也可以相同。当然,需要注意的是,上述模块涉及的方案可以不限于上述实施例中的内容和场景,且上述模块可以运行在计算机终端或移动终端,可以通过软件或硬件实现。
从以上的描述中,可以看出,本发明实现了如下技术效果:
采用本发明,当第一服务器接收到客户端发送的异步网页请求时,根据该请求中包含的服务器标志位判断请求访问的网络资源在第一域或者第二域,若服务器标志位指示请求的网络资源在第二域,则由第一服务器代理将该异步网页请求转发至第二服务器,在第二服务器下发该请求的响应数据至第一服务器之后,由第一服务器将响应数据下发至客户端。采用本发明,解决了现有技术中跨域请求网络资源操作繁琐且效率低的问题,从而达到了客户端对跨域网络资源的快速且高效的访问的效果。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410779427.6A CN104410711A (zh) 2014-12-15 2014-12-15 客户端跨域请求网络资源的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410779427.6A CN104410711A (zh) 2014-12-15 2014-12-15 客户端跨域请求网络资源的方法和装置

Publications (1)

Publication Number Publication Date
CN104410711A true CN104410711A (zh) 2015-03-11

Family

ID=52648306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410779427.6A Pending CN104410711A (zh) 2014-12-15 2014-12-15 客户端跨域请求网络资源的方法和装置

Country Status (1)

Country Link
CN (1) CN104410711A (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105069006A (zh) * 2015-06-30 2015-11-18 北京金山安全软件有限公司 一种用于访问跨域资源的方法及装置
CN105528426A (zh) * 2015-12-09 2016-04-27 国云科技股份有限公司 一种无刷新的url参数动态记录加载方法
CN106685901A (zh) * 2015-11-10 2017-05-17 华为技术有限公司 用于处理跨域数据的方法、第一服务器及第二服务器
CN107580013A (zh) * 2017-07-25 2018-01-12 阿里巴巴集团控股有限公司 跨域请求数据的方法及装置
CN107786525A (zh) * 2016-08-31 2018-03-09 北京国双科技有限公司 网页页面的账号验证方法和装置
CN107995259A (zh) * 2017-11-14 2018-05-04 北京思特奇信息技术股份有限公司 一种对跨域请求进行处理的方法及装置
CN108256069A (zh) * 2018-01-17 2018-07-06 阿里巴巴集团控股有限公司 一种页面跨域访问的方法和装置
CN108563513A (zh) * 2017-12-29 2018-09-21 北京元心科技有限公司 进程间通信的方法及装置
CN108667863A (zh) * 2017-03-29 2018-10-16 中国科学院声学研究所 一种基于本地代理的web业务适配系统及方法
CN108964975A (zh) * 2018-05-30 2018-12-07 北京五八信息技术有限公司 跨域访问处理方法和装置
CN109040339A (zh) * 2018-07-27 2018-12-18 深圳市腾讯网络信息技术有限公司 基于ajax的跨域请求处理方法、装置及设备
CN109451058A (zh) * 2018-12-21 2019-03-08 常州机电职业技术学院 一种跨域json数据交换方法和系统
CN109688280A (zh) * 2018-08-21 2019-04-26 平安科技(深圳)有限公司 请求处理方法、请求处理设备、浏览器及存储介质
CN110347466A (zh) * 2019-07-04 2019-10-18 绿漫科技有限公司 一种用于web页面3D动态展示文字的方法
CN112491955A (zh) * 2020-10-23 2021-03-12 北京思特奇信息技术股份有限公司 一种基于代理服务器实现iframe系统数据交换的方法和系统
WO2021218018A1 (zh) * 2020-04-28 2021-11-04 平安科技(深圳)有限公司 网页端实现跨域请求的数据处理方法、装置及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075240A (zh) * 2006-08-25 2007-11-21 腾讯科技(深圳)有限公司 跨域获取数据的方法和系统
US8046495B2 (en) * 2007-01-31 2011-10-25 Fgm, Inc. System and method for modifying web content via a content transform proxy service
CN102447726A (zh) * 2010-10-15 2012-05-09 中兴通讯股份有限公司 页面访问方法及系统
CN103309861A (zh) * 2012-03-07 2013-09-18 阿里巴巴集团控股有限公司 跨域数据获取的方法与装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075240A (zh) * 2006-08-25 2007-11-21 腾讯科技(深圳)有限公司 跨域获取数据的方法和系统
US8046495B2 (en) * 2007-01-31 2011-10-25 Fgm, Inc. System and method for modifying web content via a content transform proxy service
CN102447726A (zh) * 2010-10-15 2012-05-09 中兴通讯股份有限公司 页面访问方法及系统
CN103309861A (zh) * 2012-03-07 2013-09-18 阿里巴巴集团控股有限公司 跨域数据获取的方法与装置

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105069006A (zh) * 2015-06-30 2015-11-18 北京金山安全软件有限公司 一种用于访问跨域资源的方法及装置
CN106685901A (zh) * 2015-11-10 2017-05-17 华为技术有限公司 用于处理跨域数据的方法、第一服务器及第二服务器
WO2017080381A1 (zh) * 2015-11-10 2017-05-18 华为技术有限公司 用于处理跨域数据的方法、第一服务器及第二服务器
CN106685901B (zh) * 2015-11-10 2020-06-02 华为技术有限公司 用于处理跨域数据的方法、第一服务器及第二服务器
CN105528426B (zh) * 2015-12-09 2019-03-26 国云科技股份有限公司 一种无刷新的url参数动态记录加载方法
CN105528426A (zh) * 2015-12-09 2016-04-27 国云科技股份有限公司 一种无刷新的url参数动态记录加载方法
CN107786525A (zh) * 2016-08-31 2018-03-09 北京国双科技有限公司 网页页面的账号验证方法和装置
CN107786525B (zh) * 2016-08-31 2020-06-12 北京国双科技有限公司 网页页面的账号验证方法和装置
CN108667863A (zh) * 2017-03-29 2018-10-16 中国科学院声学研究所 一种基于本地代理的web业务适配系统及方法
CN108667863B (zh) * 2017-03-29 2020-04-14 中国科学院声学研究所 一种基于本地代理的web业务适配系统及方法
CN107580013A (zh) * 2017-07-25 2018-01-12 阿里巴巴集团控股有限公司 跨域请求数据的方法及装置
CN107580013B (zh) * 2017-07-25 2021-04-13 创新先进技术有限公司 跨域请求数据的方法及装置
CN107995259A (zh) * 2017-11-14 2018-05-04 北京思特奇信息技术股份有限公司 一种对跨域请求进行处理的方法及装置
CN108563513A (zh) * 2017-12-29 2018-09-21 北京元心科技有限公司 进程间通信的方法及装置
CN108256069A (zh) * 2018-01-17 2018-07-06 阿里巴巴集团控股有限公司 一种页面跨域访问的方法和装置
CN108964975A (zh) * 2018-05-30 2018-12-07 北京五八信息技术有限公司 跨域访问处理方法和装置
CN108964975B (zh) * 2018-05-30 2021-07-20 北京五八信息技术有限公司 跨域访问处理方法和装置
CN109040339A (zh) * 2018-07-27 2018-12-18 深圳市腾讯网络信息技术有限公司 基于ajax的跨域请求处理方法、装置及设备
CN109040339B (zh) * 2018-07-27 2021-09-17 深圳市腾讯网络信息技术有限公司 基于ajax的跨域请求处理方法、装置及设备
CN109688280B (zh) * 2018-08-21 2021-06-04 平安科技(深圳)有限公司 请求处理方法、请求处理设备、浏览器及存储介质
CN109688280A (zh) * 2018-08-21 2019-04-26 平安科技(深圳)有限公司 请求处理方法、请求处理设备、浏览器及存储介质
CN109451058A (zh) * 2018-12-21 2019-03-08 常州机电职业技术学院 一种跨域json数据交换方法和系统
CN110347466A (zh) * 2019-07-04 2019-10-18 绿漫科技有限公司 一种用于web页面3D动态展示文字的方法
WO2021218018A1 (zh) * 2020-04-28 2021-11-04 平安科技(深圳)有限公司 网页端实现跨域请求的数据处理方法、装置及相关设备
CN112491955A (zh) * 2020-10-23 2021-03-12 北京思特奇信息技术股份有限公司 一种基于代理服务器实现iframe系统数据交换的方法和系统
CN112491955B (zh) * 2020-10-23 2023-07-07 北京思特奇信息技术股份有限公司 一种基于代理服务器实现iframe系统数据交换的方法和系统

Similar Documents

Publication Publication Date Title
CN104410711A (zh) 客户端跨域请求网络资源的方法和装置
KR101362384B1 (ko) 웹 플랫폼을 이용한 아이피 기반 IoT 사물 브라우징 방법 및 시스템
KR101543221B1 (ko) 다중 사용자-다중 서비스 제공 방법, 장치 및 시스템
CN102655481B (zh) 一种基于网页的即时通信聊天内容查看方法及系统
US20190190977A1 (en) System and method of automatic generation and insertion of analytic tracking codes
CN102694830B (zh) 一种实现网络内容分享的方法、系统和装置
US10958735B2 (en) Client connection method and system
US20130246504A1 (en) Method for subscribing to notification, apparatus and system
CN103139258A (zh) 一种处理移动终端的页面访问请求的方法、设备与系统
CN104572777B (zh) 基于UIWebView组件的网页加载方法及装置
CN103905497A (zh) 实现第三方应用业务网站登录的方法、装置及应用平台
CN107124430B (zh) 页面劫持监控方法、装置、系统和存储介质
CN107463453B (zh) 同一终端不同应用间通信的方法、装置、设备和存储介质
CN103888540B (zh) 登录信息同步方法、被同步和同步网络服务器
CN104426985A (zh) 显示网页的方法、装置及系统
WO2017124692A1 (zh) 查找表单页面和目标页面转化关系的方法和装置
CN103324756A (zh) 一种提高浏览器访问速度的方法及装置
CN105393247A (zh) 一种网页优化的设备及方法
CN112187801A (zh) 网站访问方法、装置及系统
US10225358B2 (en) Page push method, device, server and system
CN109862074B (zh) 一种数据采集方法、装置、可读介质及电子设备
US9866614B2 (en) Methods for website version control using bucket cookies
KR101342407B1 (ko) 싱글 사인온 기반 통합 인증 서비스 제공 방법
KR20060109647A (ko) 알에스에스 변환 및 알에스에스 서비스 제공 장치, 방법 및시스템
AU2017100993A4 (en) A method and system for provisioning digital wallet passes for native application display of digital real estate listings by a mobile communication device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20150311