《页面访问方法及系统.pdf》由会员分享,可在线阅读,更多相关《页面访问方法及系统.pdf(12页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102447726 A (43)申请公布日 2012.05.09 C N 1 0 2 4 4 7 7 2 6 A *CN102447726A* (21)申请号 201010510021.X (22)申请日 2010.10.15 H04L 29/08(2006.01) H04L 29/12(2006.01) (71)申请人中兴通讯股份有限公司 地址 518057 广东省深圳市南山区科技南路 55号 (72)发明人郑伟 (74)专利代理机构北京康信知识产权代理有限 责任公司 11240 代理人余刚 吴孟秋 (54) 发明名称 页面访问方法及系统 (57) 摘要 本发明公开。
2、了一种页面访问方法及系统,其 中,该页面访问方法包括:门户系统接收来自客 户端浏览器的访问请求,其中,访问请求用于请求 访问内嵌的第三方系统的页面,访问请求的目的 地址为门户系统的代理统一资源定位符(URL)地 址,且第三方系统的地址作为代理URL地址的参 数;门户系统将访问请求转发给第三方系统;门 户系统接收第三方系统返回的访问请求响应,将 访问请求响应转发给客户端浏览器,其中,访问请 求响应的源地址为代理URL地址,且第三方系统 的地址作为代理URL地址的参数。本发明在出现 跨域问题时,能够实现诸如在顶级窗口中居中显 示浮动窗口等之类的第三方系统提供的功能。 (51)Int.Cl. (19。
3、)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 6 页 附图 3 页 CN 102447749 A 1/2页 2 1.一种页面访问方法,其特征在于,包括: 门户系统接收来自客户端浏览器的访问请求,其中,所述访问请求用于请求访问内嵌 的第三方系统的页面,所述访问请求的目的地址为所述门户系统的代理统一资源定位符 URL地址,且所述第三方系统的地址作为所述代理URL地址的参数; 所述门户系统将所述访问请求转发给所述第三方系统; 所述门户系统接收所述第三方系统返回的访问请求响应,将所述访问请求响应转发给 所述客户端浏览器,其中,所述访问请求响应的源地址为所述代理URL。
4、地址,且所述第三方 系统的地址作为所述代理URL地址的参数。 2.根据权利要求1所述的方法,其特征在于,所述第三方系统以框架网页iframe的方 式内嵌在所述门户系统的Web界面上,其中,在内嵌时,所述第三方系统的页面的地址设置 为所述代理URL地址,且所述第三方系统的地址作为所述代理URL地址的参数。 3.根据权利要求1所述的方法,其特征在于,在所述门户系统将所述访问请求转发给 所述第三方系统之前,还包括: 所述门户系统解析接收到的所述访问请求,得到所述第三方系统的地址和所述客户端 浏览器的请求方式; 所述门户系统将所述访问请求重新封装后,按照所述请求方式发送给所述第三方系 统。 4.根据权。
5、利要求3所述的方法,其特征在于,在所述门户系统将所述访问请求转发给 所述第三方系统之后,还包括: 所述第三方系统将所述页面上使用的URL地址设置为绝对地址; 所述第三方系统将所述页面携带在所述访问请求响应中发送给所述门户系统。 5.根据权利要求4所述的方法,其特征在于,所述第三方系统将所述页面上使用的URL 地址设置为绝对地址包括: 当所述页面上包括静态资源时,所述第三方系统将所述静态资源的URL地址设置为绝 对地址,其中,所述静态资源至少包括以下之一:引用样式表文件、脚本文件、图片; 当所述页面上包括需要所述客户端浏览器提交的URL地址或者使用ajax请求访问的 URL地址时,所述第三方系统。
6、将所述提交的URL地址或者所述使用ajax请求访问的URL地 址设置为绝对地址。 6.根据权利要求5所述的方法,其特征在于,当所述页面上包括需要所述客户端浏览 器提交的URL地址或者使用ajax请求访问的URL地址时,在所述第三方系统将所述页面携 带在所述访问请求响应中发送给所述门户系统之前,还包括: 所述第三方系统将所述绝对地址转换为所述代理URL地址,并且所述绝对地址作为所 述代理URL地址的参数。 7.根据权利要求1至6中任一项所述的方法,其特征在于,所述访问请求为超文本传输 协议HTTP请求,所述访问请求响应为HTTP响应。 8.一种页面访问系统,其特征在于,包括:门户系统和内嵌在所述。
7、门户系统的Web界面 上的第三方系统,其中,所述门户系统包括: 接收模块,用于接收来自客户端浏览器的访问请求以及接收所述第三方系统针对所述 访问请求返回的访问请求响应,其中,所述访问请求用于请求访问所述第三方系统的页面, 权 利 要 求 书CN 102447726 A CN 102447749 A 2/2页 3 所述访问请求的目的地址为所述门户系统的代理统一资源定位符URL地址,且所述第三方 系统的地址作为所述代理URL地址的参数; 第一发送模块,用于将所述访问请求转发给所述第三方系统,以及将所述访问请求响 应转发给所述客户端浏览器,其中,所述访问请求响应的源地址为所述代理URL地址,且所 述。
8、第三方系统的地址作为所述代理URL地址的参数。 9.根据权利要求8所述的系统,其特征在于,所述门户系统还包括: 解析模块,用于在所述第一发送模块将所述访问请求转发给所述第三方系统之前,解 析所述访问请求,得到所述第三方系统的地址和所述客户端浏览器的请求方式; 其中,所述第一发送模块还用于将所述访问请求重新封装后,按照所述请求方式发送 给所述第三方系统。 10.根据权利要求8所述的系统,其特征在于,所述第三方系统包括: 处理模块,用于将所述页面上使用的URL地址设置为绝对地址; 第二发送模块,用于将所述页面携带在所述访问请求响应中发送给所述门户系统。 权 利 要 求 书CN 102447726 。
9、A CN 102447749 A 1/6页 4 页面访问方法及系统 技术领域 0001 本发明涉及通信领域,具体而言,涉及一种页面访问方法及系统。 背景技术 0002 移动运营商或者其他服务提供商等一般都需要通过Web访问门户系统来向用户 提供其呼叫中心的客户服务系统,在该门户系统的Web界面上需要大量集成第三方的系统 或应用。如果采用WebService(Web服务)之类的接口方式,而现有的第三方系统又暂未提 供Web Service之类的服务接口的情形下,双方都需要进行开发,而且工作量都比较大。 0003 另一种传统的方式是在主界面上使用iframe(框架网页或内嵌框架)来嵌入第三 方系统。
10、的页面,这种方式在一般情况下可能不会出现问题。但是,当嵌入的第三方系统的页 面需要与window.parent(父窗口)或window.top(顶级窗口)进行交互时(如:嵌入的页 面要在顶级窗口中弹出浮动窗口以让使用者输入一些信息时),因为客户端的浏览器需要 访问window.parent或window.top,而window.parent代表的父窗口或者window.top代表 的顶级窗口又来自门户系统,和第三方系统不在同一个域,这就出现了跨域(CrossDomain) 的问题。而一般的浏览器在出现跨域的情况下都会认为是不安全的,因此就会禁止用户访 问,有的浏览器甚至会报出“没有权限”的错误。
11、警告,从而导致第三方系统的页面提供的功 能无法实现。 发明内容 0004 本发明的主要目的在于提供一种页面访问方法及系统,以至少解决上述的第三方 系统的页面提供的功能无法实现的问题。 0005 根据本发明的一个方面,提供了一种页面访问方法,包括:门户系统接收来自客 户端浏览器的访问请求,其中,访问请求用于请求访问内嵌的第三方系统的页面,访问请求 的目的地址为门户系统的代理统一资源定位符(URL)地址,且第三方系统的地址作为代理 URL地址的参数;门户系统将访问请求转发给第三方系统;门户系统接收第三方系统返回 的访问请求响应,将访问请求响应转发给客户端浏览器,其中,访问请求响应的源地址为代 理U。
12、RL地址,且第三方系统的地址作为代理URL地址的参数。 0006 进一步地,第三方系统以框架网页(iframe)的方式内嵌在门户系统的Web界面 上,其中,在内嵌时,第三方系统的页面的地址设置为代理URL地址,且第三方系统的地址 作为代理URL地址的参数。 0007 进一步地,在门户系统将访问请求转发给第三方系统之前,还包括:门户系统解析 接收到的访问请求,得到第三方系统的地址和客户端浏览器的请求方式;门户系统将访问 请求重新封装后,按照请求方式发送给第三方系统。 0008 进一步地,在门户系统将访问请求转发给第三方系统之后,还包括:第三方系统将 页面上使用的URL地址设置为绝对地址;第三方系。
13、统将页面携带在访问请求响应中发送给 门户系统。 说 明 书CN 102447726 A CN 102447749 A 2/6页 5 0009 进一步地,第三方系统将页面上使用的URL地址设置为绝对地址包括:当页面上 包括静态资源时,第三方系统将静态资源的URL地址设置为绝对地址,其中,静态资源至少 包括以下之一:引用样式表文件、脚本文件、图片;当页面上包括需要客户端浏览器提交的 URL地址或者使用ajax请求访问的URL地址时,第三方系统将提交的URL地址或者使用 ajax请求访问的URL地址设置为绝对地址。 0010 进一步地,当页面上包括需要客户端浏览器提交的URL地址或者使用ajax请求。
14、访 问的URL地址时,在第三方系统将页面携带在访问请求响应中发送给门户系统之前,还包 括:第三方系统将绝对地址转换为代理URL地址,并且绝对地址作为代理URL地址的参数。 0011 进一步地,访问请求为超文本传输协议(HTTP)请求,访问请求响应为HTTP响应。 0012 根据本发明的另一个方面,提供了一种页面访问系统,包括:门户系统和内嵌在门 户系统的Web界面上的第三方系统,其中,门户系统包括:接收模块,用于接收来自客户端 浏览器的访问请求以及接收第三方系统针对访问请求返回的访问请求响应,其中,访问请 求用于请求访问第三方系统的页面,访问请求的目的地址为门户系统的代理统一资源定位 符(UR。
15、L)地址,且第三方系统的地址作为代理URL地址的参数;第一发送模块,用于将访问 请求转发给第三方系统,以及将访问请求响应转发给客户端浏览器,其中,访问请求响应的 源地址为代理URL地址,且第三方系统的地址作为代理URL地址的参数。 0013 进一步地,门户系统还包括:解析模块,用于在第一发送模块将访问请求转发给第 三方系统之前,解析访问请求,得到第三方系统的地址和客户端浏览器的请求方式;其中, 第一发送模块还用于将访问请求重新封装后,按照请求方式发送给第三方系统。 0014 进一步地,第三方系统包括:处理模块,用于将页面上使用的URL地址设置为绝对 地址;第二发送模块,用于将页面携带在访问请求。
16、响应中发送给门户系统。 0015 通过本发明,通过在门户系统上设置一个代理URL地址,客户端浏览器访问内嵌 在门户系统的Web界面的第三方系统的页面时,通过该门户系统的代理URL地址访问且第 三方系统的地址作为该代理URL地址的参数,以及在接收到的访问请求响应的源地址也为 该代理URL地址且第三方系统的地址作为该代理URL地址的参数,这样,用户通过浏览器对 第三方系统的页面进行操作时,浏览器就认为该页面是来自门户系统的,与父窗口或顶级 窗口是同一个域的,因此就可以安全地使用脚本访问window.parent或window.top。本实 施例解决了现有技术中当出现跨域问题时第三方系统的页面提供的。
17、功能无法实现的问题, 从而能够访问window.parent或window.top,实现诸如在顶级窗口中居中显示浮动窗口等 之类的第三方系统提供的功能。 附图说明 0016 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中: 0017 图1是根据本发明实施例的页面访问方法的流程图; 0018 图2是根据本发明优选实施例的页面访问方法的具体处理流程图; 0019 图3是本发明实施例的页面访问系统的示意图; 0020 图4是本发明优选实施例的页面访问系统的结构示意图。 说 明 书CN 1024477。
18、26 A CN 102447749 A 3/6页 6 具体实施方式 0021 下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。 0022 图1是根据本发明实施例的页面访问方法,包括以下步骤: 0023 步骤S102,门户系统接收来自客户端浏览器的访问请求,其中,该访问请求用于请 求访问内嵌的第三方系统的页面(即网页),该访问请求的目的地址为门户系统的代理URL 地址,且第三方系统的地址作为该代理URL地址的参数; 0024 例如,第三方系统的地址为X,代理URL地址为/proxy.do,则该访问请求的目的地 址为/p。
19、roxy.do?_urlX。 0025 步骤S104,门户系统将接收到的访问请求转发给第三方系统; 0026 步骤S106,门户系统接收第三方系统返回的访问请求响应,将该访问请求响应转 发给客户端浏览器以由客户端浏览器生成所要访问的页面,其中,该访问请求响应的源地 址为上述代理URL地址,且第三方系统的地址作为该代理URL地址的参数。 0027 其中,源地址的形式与上例类似。 0028 本实施例通过在门户系统上设置一个代理URL地址,客户端浏览器访问内嵌在门 户系统的Web界面的第三方系统的页面时,通过该门户系统的代理URL地址访问且第三方 系统的地址作为该代理URL地址的参数,以及在接收到的。
20、访问请求响应的源地址也为该代 理URL地址且第三方系统的地址作为该代理URL地址的参数,这样,用户通过浏览器对第三 方系统的页面进行操作时,浏览器就认为该页面是来自门户系统的,与父窗口或顶级窗口 是同一个域的,因此就可以安全地使用脚本访问window.parent或window.top。本实施例 解决了现有技术中当出现跨域问题时第三方系统的页面提供的功能无法实现的问题,从而 能够访问window.parent或window.top,能够正常地实现诸如在顶级窗口中居中显示浮动 窗口等之类的第三方系统提供的功能。 0029 在实际实施时,上述实施例中的访问请求可以为HTTP(Hypertext T。
21、ransfer Protocol,超文本传输协议)请求,上述访问请求响应可以为HTTP响应。 0030 在实际实施时,根据本发明优选实施例的页面访问方法的具体实现流程如图2所 示,包括以下步骤: 0031 步骤S202,门户系统的Web界面上用iframe(框架网页或内嵌网页)嵌入第三方 系统的页面,内嵌的第三方系统的页面的地址不是直接使用第三方系统的地址,需要经过 转换处理,设置为门户系统的代理URL(Uniform Resource Locator,统一资源定位符)地 址,而第三方系统的地址作为该代理URL地址的参数; 0032 例如:第三方系统的地址为X,代理URL地址为/proxy.d。
22、o。 0033 那么,内嵌的第三方系统的页面的地址不能直接使用: 0034 ; 0035 而是要转换为。 0036 步骤S204,门户系统接收到来自客户端浏览器的HTTP请求(报文)后,转发HTTP 请求到第三方系统; 0037 步骤S202完成后,客户端浏览器就会向门户系统的代理URL地址/proxy.do发送 HTTP请求。 说 明 书CN 102447726 A CN 102447749 A 4/6页 7 0038 该步骤对应于图1中的步骤S102。 0039 步骤S206,门户系统解析接收到的HTTP请求,得到第三方系统的地址和客户端浏 览器的请求方式; 0040 步骤S206中的解析。
23、过程完成以下功能: 0041 (1)从HTTP请求的参数中提取出第三方系统的地址; 0042 (2)从HTTP请求中分析客户端浏览器的请求方式是GET(获取)还是POST(发 送); 0043 其中,GET是向特定的资源发出请求。注意:GET方法不应当被用于产生“副作用” 的操作中,例如在Web Application(应用)中。其中一个原因是GET可能会被网络蜘蛛等 随意访问。 0044 POST是向指定资源提交数据进行处理请求(例如提交表单或者上传文件),数据 被包含在请求体中。POST请求可能会导致新的资源的创建和/或已有资源的修改。 0045 (3)从HTTP请求中提取HTTP请求头和。
24、其他参数。 0046 步骤S208,门户系统将该HTTP请求重新封装后,按照步骤S206中解析得到的请求 方式发送给第三方系统; 0047 门户系统根据解析得到的请求方式,如GET或POST,使用对应的GET或POST方式, 将解析得到的请求头和参数和代理URL地址重新封装成HTTP请求(如将代理URL地址放入 HTTP请求的请求头或参数),再向步骤S206中解析得到的第三方系统的地址发送该HTTP 请求(即重新封装后的HTTP请求),并等待接收第三方系统完成处理后返回的HTTP响应 (报文)。 0048 步骤S210,第三方系统接收到HTTP请求报文后,处理页面上的URL地址,即将页面 上使。
25、用的URL地址设置为绝对地址; 0049 具体地,解析HTTP请求报文,从HTTP请求参数或者请求头中解析出代理URL地 址,然后,处理页面上用到的URL地址。 0050 页面上用到的URL地址的处理分两种情况: 0051 (1)引用样式表文件、脚本文件、图片等静态资源时使用绝对地址,如: 0052 ; 0053 ; 0054 。 0055 即,当页面上包括静态资源时,第三方系统将静态资源的URL地址设置为绝对地 址,其中,静态资源至少包括以下之一:引用样式表文件、脚本文件、图片。 0056 其理由是:如果被请求的第三方系统的网页中使用了相对地址,则在HTTP响应返 回到客户端浏览器之后,客户。
26、端浏览器会用门户系统的地址来计算资源的绝对地址,这样 就造成了客户端浏览器访问门户系统而不会去第三方系统请求资源,而门户系统又不存在 需要的资源时,就会造成页面显示异常或功能异常。 0057 例如:第三方系统的图片HTML代码为:,门户系统的地 址为http:/ddd,则客户端浏览器计算出来的地址是http:/ddd/f.jpg,而不是想要的 说 明 书CN 102447726 A CN 102447749 A 5/6页 8 http:/abc/f.jpg。 0058 而如果第三方系统的图片HTML 代码为,客 户端浏览器就会准确地找到指定的资源。 0059 (2)需要用户进行提交或者用aja。
27、x(Asynchronous JavaScriptand XML,异步 JavaScript和XML(Extension Markup Language,可扩展标记语言)请求访问的URL地址, 也要使用绝对地址。即,当页面上包括需要客户端浏览器提交的URL地址或者使用ajax请 求访问的URL地址时,第三方系统将该提交的URL地址或者该使用ajax请求访问的URL地 址设置为绝对地址。 0060 同时,还需使用解析得到的代理URL地址进行转换,如原地址为X,代理URL地址为 Y,需要转换为Y?_urlX的形式,即,第三方系统将使用的绝对地址转换为该代理URL 地址,并且该绝对地址作为该代理UR。
28、L地址的参数。 0061 其理由是:如果需要用户进行提交的URL地址不进行转换,则用户会直接提交到 第三方系统,这样就离开了门户系统,如果再想访问window.parent或window.top,同样会 引起跨域问题;如果ajax请求的URL地址不进行转换,也会引起跨域问题,导致客户端浏览 器进行阻止,进而使得第三方系统提供的功能无效,甚至是报错。 0062 步骤S212,网页(页面)经过上述处理后,第三方系统将处理后的页面携带在 HTTP响应中发送给门户系统; 0063 步骤S214,门户系统接收到第三方系统传回来的经过上述处理后的HTTP响应报 文,返回给客户端浏览器生成最终的Web页面。。
29、 0064 图3是根据本发明实施例的页面访问系统,包括:门户系统10和内嵌在门户系统 10的Web界面上的第三方系统20,其中,门户系统10包括: 0065 接收模块102,用于接收来自客户端浏览器30的访问请求以及接收第三方系统20 针对该访问请求返回的访问请求响应,其中,该访问请求用于请求访问第三方系统20的页 面,该访问请求的目的地址为门户系统10的代理URL地址,且第三方系统20的地址作为该 代理URL地址的参数; 0066 第一发送模块104,用于将接收模块102接收到的访问请求转发给第三方系统20, 以及将访问请求响应转发给客户端浏览器30,其中,该访问请求响应的源地址为代理URL。
30、 地址,且第三方系统20的地址作为该代理URL地址的参数。 0067 其中,第三方系统20以iframe的方式内嵌在门户系统10的Web界面上,其中,在 内嵌时,第三方系统20的页面的地址设置为上述代理URL地址,且第三方系统20的地址作 为该代理URL地址的参数。 0068 例如:第三方系统20的地址为X,代理URL地址为/proxy.do。 0069 那么,内嵌的第三方系统20的页面的地址不能直接使用: 0070 ; 0071 而应该使用。 0072 为了实现第一发送模块104对访问请求的转发,门户系统10还可以包括:解析模 块106,用于在第一发送模块104将接收模块102接收到的访问请。
31、求转发给第三方系统20 之前,解析该访问请求,得到第三方系统20的地址和客户端浏览器30的请求方式;其中,第 一发送模块104还用于将访问请求重新封装后,按照解析模块106解析得到的请求方式发 说 明 书CN 102447726 A CN 102447749 A 6/6页 9 送给解析模块106解析得到的第三方系统的地址。 0073 为了使得客户端浏览器能够正常显示页面等,在实施应用时,第三方系统20可以 包括:处理模块202,用于将页面上使用的URL地址设置为绝对地址;第二发送模块204,用 于将页面携带在访问请求响应中发送给门户系统10。 0074 其中,处理模块202将页面上使用的URL。
32、地址设置为绝对地址的方式包括:当页面 上包括静态资源时,将静态资源的URL地址设置为绝对地址,其中,静态资源至少包括以下 之一:引用样式表文件、脚本文件、图片;当页面上包括需要客户端浏览器30提交的URL地 址或者使用ajax请求访问的URL地址时,将该提交的URL地址或者该使用ajax请求访问 的URL地址设置为绝对地址。 0075 当页面上包括需要客户端浏览器30提交的URL地址或者使用ajax请求访问的 URL地址时,为了避免仍然会出现的跨域问题,处理模块202还可以用于在第一发送模块 104将页面携带在访问请求响应中发送给门户系统10之前,将设置的绝对地址转换为代理 URL地址,并且该。
33、绝对地址作为该代理URL地址的参数。 0076 上述的访问请求可以为HTTP请求,以及访问请求响应可以为HTTP响应。 0077 如图4所示,在实际实施时,可以由门户系统代理模块来实现门户系统10中的接 收模块102、第一发送模块104和解析模块106,为了能够确保由该门户系统代理模块来实 现上述三个功能模块的功能,可以将门户系统10的上述代理URL地址设置为该门户系统代 理模块的URL地址。还可以由第三方页面处理模块来实现第三方系统20中的处理模块202 和第二发送模块204。 0078 在上述实施例中,需要注意的是:如果第三方系统需要获取客户端浏览器所在计 算机的IP地址等信息(例如在需要。
34、统计访问量或者写日志时),需要与门户系统代理模块 进行约定,先由门户系统代理模块取得,然后门户系统代理模块再以HTTP请求参数或HTTP 头的方式传送给第三方系统。 0079 从以上的描述中,可以看出,本发明实现了如下技术效果: 0080 通过上述实施例的页面访问方法和系统为用户提供了一种跨域访问的解决方案, 基本上不用修改原有的业务逻辑,也不用修改客户端浏览器的设置,可以快速开发和部署, 而且成本较低。 0081 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用。
35、计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示 出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或 步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。 0082 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。 说 明 书CN 102447726 A CN 102447749 A 1/3页 10 图1 说 明 书 附 图CN 102447726 A CN 102447749 A 2/3页 11 图2 说 明 书 附 图CN 102447726 A CN 102447749 A 3/3页 12 图3 图4 说 明 书 附 图CN 102447726 A 。