CN101287013B - 一种更新Web页面的方法和Web代理设备 - Google Patents
一种更新Web页面的方法和Web代理设备 Download PDFInfo
- Publication number
- CN101287013B CN101287013B CN2008101140780A CN200810114078A CN101287013B CN 101287013 B CN101287013 B CN 101287013B CN 2008101140780 A CN2008101140780 A CN 2008101140780A CN 200810114078 A CN200810114078 A CN 200810114078A CN 101287013 B CN101287013 B CN 101287013B
- Authority
- CN
- China
- Prior art keywords
- ancillary documents
- request message
- web page
- http request
- documents
- 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.)
- Active
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种更新Web页面的方法和Web代理设备。本发明的技术方案主要根据Http请求报文中携带的附属文件的URL地址,记录Web页面与其内嵌附属文件URL地址的关联关系,在收到对Web页面的Http请求报文时,利用关联关系主动更新该Web页面的附属文件,使客户端能够直接获取更新后的附属文件,从而提高了整个系统返回Web页面的响应速度。在本发明的技术方案中,由于不需要解析应答报文中的Web页面来获得其中内嵌的附属文件URL地址,因此解决了现有技术无法通过解析应答报文得到附属文件URL地址的技术问题。
Description
技术领域
本发明涉及Web技术,尤指一种更新Web页面的方法和Web代理设备。
背景技术
在现有技术中,客户端主要通过如下两个阶段实现对Web页面的访问。第一个阶段是:客户端根据所请求Web页面的统一资源定位符(URL,Uniform Resource Location)地址,向Web服务器发送Http请求报文请求该Web页面的主文件,即超文本标记语言(HTML,Hypertext Markup Language)文件;Web服务器向客户端返回Web页面的主文件。第二个阶段是:客户端接收HTML文件,得到显示Web页面所需内嵌附属文件的URL,根据附属文件的URL向对应的服务器发送超文本传输协议(Http,Hypertext Transfer Protocol)请求报文请求所需的附属文件;Web服务器返回附属文件。客户端根据收到的主文件以及附属文件显示Web页面。这里,根据Web页面的不同形式,附属文件可以包括图片、脚本、样式表等类型。
当客户端无法直接与Web服务器进行通信,客户端通常通过Web代理设备实现与Web服务器之间交互,访问Web页面。例如,在公网的客户端无法访问内网中的Web服务器时,客户端通过http反向代理设备(HRP,Http Reverse Proxy)访问Web服务器,具体如图1所示。在这种情况下,客户端通过广域网访问拥有公网IP地址的HRP,对HRP发出Http请求报文。HRP解析Http请求报文,根据请求的URL找到对应的内网真实URL地址,将其转发给相应的Web服务器进行处理。内网Web服务器处理完请求后,将应答报文转发给HRP,由HRP再将应答报文返回给远程主机。
在Web代理设备代理客户端访问Web服务器时,还会缓存Web服务器返回的应答报文,保存其中携带的文件以及文件的校验参数,用来减少重复数据的传送。当Web代理设备收到客户端发送的Http请求报文时,首先检查所需的文件是否在本地缓存,如果是,根据检验参数对其进行校验,在不过期的情况下,直接向客户端返回所需的文件;如果没有在本地缓存或者所需的文件过期,则向Web服务器发送Http请求报文请求更新缓存文件,在收到返回的应答报文时,向客户端返回收到的应答报文,并根据该应答报文更新自身缓存。
通过上面的介绍不难发现,Web代理设备只会在收到客户端发来请求附属文件的Http请求报文后,才检查缓存的文件是否需要更新。如果需要更新,再从Web服务器获取更新文件。这样,Web代理设备在每处理一个Web页面请求时,客户端都会等待一个较长的时间。为了提高Web代理设备的响应速度,现有技术在Web代理设备收到Web服务器返回的主页面时,解析主页面得到附属文件的URL,根据得到的URL主动向Web服务器更新附属文件,然后将更新后的附属文件发送给客户端,供客户端显示。由于减少了客户端向Web代理设备请求附属文件的过程,有效的提高了Web代理设备的响应速度。
然而,随着Web网页功能的不断增加,Web页面内嵌附属文件的URL并不是都由Web网页的主文件来携带,而是客户端在收到主文件后根据自身的运行环境以及主文件中携带的内容计算得到。在这种情况下,Web代理设备难以通过解析主文件来得到其内嵌附属文件的URL,因此还是会出现Web代理设备响应速度慢的问题。
发明内容
有鉴于此,本发明提供了一种更新Web页面的方法和Web代理设备,应用本发明所提供的方法及Web代理设备能够获得Web页面内嵌附属文件的URL地址,加快Web页面的响应速度。
为达到上述目的,本发明的技术方案是这样实现的:
一种更新Web页面的方法,该方法包括:
记录Web页面与其内嵌附属文件URL地址的关联关系;
收到客户端访问已记录关联关系的Web页面的Http请求报文后,根据所记录的关联关系获得所述Web页面附属文件的URL地址,确定需要更新所述附属文件时,根据所获得的URL地址访问Web服务器更新所述附属文件;
向所述客户端提供所述Web页面更新后的附属文件。
一种Web代理设备,该Web代理设备包括控制单元和缓存单元;
所述控制单元,用于记录并将Web页面与其内嵌附属文件URL地址的关联关系保存至所述缓存单元;收到客户端访问已记录关联关系的Web页面的Http请求报文后,根据所述缓存单元记录的关联关系获得所述Web页面附属文件的URL地址,确定需要更新所述附属文件时,根据所获得的URL地址访问Web服务器更新所述附属文件;向客户端提供更新后的附属文件;
所述缓存单元,用于保存Web页面与其内嵌附属文件URL地址的关联关系。
本发明所提供的一种更新Web页面的方法和Web代理设备,记录Web页面与其内嵌附属文件URL的关联关系,在收到客户端访问已记录关联关系的Web页面的Http请求报文后,根据所记录的关联关系获得所述Web页面附属文件的URL地址,主动更新附属文件,使客户端能够直接从Web代理设备中获得附属文件的更新文件,加快了Web页面的响应速度。本发明的技术方案,由于不需要依靠解析应答报文来获得Web页面内嵌附属文件的URL地址,因此解决了现有技术无法通过解析应答报文得到附属文件URL地址的技术问题。
附图说明
图1为现有技术客户端通过HRP访问Web服务器的网络结构图;
图2为本发明实施例中记录主文件和附属文件的数据结构示意图;
图3为本发明实施例中记录关联关系的流程图;
图4为本发明实施例中更新附属文件的流程图;
图5为本发明实施例中Web代理设备的结构图。
具体实施方式
根据背景技术中的介绍不难发现,由于Web服务器返回的主文件,即HTML文件所携带的内嵌附属文件的URL链接难以解析,因此在本发明的技术方案中,可以根据获取附属文件的Http请求报文中携带的信息来记录Web页面与其内嵌附属文件URL地址的关联关系。这样,收到客户端访问已记录关联关系的Web页面的Http请求报文后,根据所记录的关联关系获得所述Web页面附属文件的URL地址,确定需要更新所述附属文件时,根据所获得的URL地址访问Web服务器更新所述附属文件;对后续收到的客户端获取附属文件的http请求,直接从缓存中提取更新后的附属文件,返回给客户端,加快Web页面的响应速度。
其中,根据Http请求报文中携带的附属文件的URL地址记录Web页面与其内嵌附属文件链接地址的关联关系具体可以是:确定收到获取附属文件的Http请求报文,从该请求报文的请求头中查找得到所述附属文件所属的Web页面,并获得请求头中附属文件的URL地址;对应查找到的Web页面记录该附属文件的URL地址。
通常情况下,客户端与Web代理设备之间会为每个Http请求建立一个传输控制协议(TCP,Transmission Control Protocol)连接,包括请求主文件的Http请求以及请求附属文件的Http请求,用来传输请求报文以及应答报文。在这种情况下,为了确定当前收到的Http请求报文为针对附属文件发送的,Web代理设备在收到客户端发送的Http请求报文之后,还需要等待该请求报文的应答报文,根据应答报文应答头包含的文件类型(Content-Type)字段来确定当前收到的Http请求报文是针对主文件的、还是针对附属文件的。在应答头携带的文件类型字段指示不为主文件的情况下,确定当前收到的Http请求报文为访问附属文件的Http请求报文。
这里,为了提高传输效率Http也允许使用TCP常连接,即客户端与服务器之间建立持续使用的TCP连接,通过一条连接处理多条Http请求。同时,为了在使用常连接时不混淆请求与应答之间的对应关系,Http协议要求客户端与服务器之间采用一问一答的形式,即在前一个请求的应答没有返回之前,客户端不能发送新的Http请求报文。当客户端通过常连接访问Web页面时,TCP常连接中传输的首个Http请求报文必然是针对主文件的,而后续传输非首个Http请求报文必然是针对附属文件。
当确定当前收到的Http请求报文为针对附属文件的请求报文后,需要查找得到所述附属文件所属的Web页面时,可以根据Http请求报文请求头中的Referer字段确定附属文件所属的Web页面。按照Http协议的定义,Referer字段用来说明当前的请求源自哪个Web页面。
这里,对应查找到的Web页面记录该附属文件的URL地址可以是对应Web页面的URL地址记录所述附属文件的URL地址。这样,在接收到客户端发送的Http请求报文时,可以获得该Http请求报文的URL地址,在对应该URL地址记录了附属文件的URL地址时,就可以确定收到客户端访问已记录关联关系的Web页面的Http请求报文。
另外,在本发明的技术方案中所指的确定需要更新所述Web页面内嵌附属文件的方式可以是指,在Web代理设备的缓存中确定附属文件已经过期时。具体的执行方式是,在收到请求附属文件的应答报文时,可以根据请求附属文件的应答报文,对应所述附属文件的URL地址记录附属文件以及该附属文件的校验信息。这样,收到客户端访问已记录关联关系的Web页面的Http请求报文后,根据所记录的关联关系获得所述Web页面附属文件的URL地址,就获得附属文件以及附属文件的校验信息,在所述校验信息确定当前附属文件过期时,就可以确定需要更新所述Web页面内嵌附属文件。
在本发明的技术方案,Web代理设备向客户端提供附属文件的更新文件的方式可以是,收到客户端发送的获取附属文件的Http请求报文,从缓存中提取更新后的附属文件,返回给所述客户端;当然也可以是采用现有技术的方法,获得更新文件后主动向客户端返回获得的更新文件。
从上面的介绍不难看出,本发明技术方案主要关注对附属文件Http请求报文的处理,而对于请求主文件的Http请求报文的处理可以沿用现有技术的相关技术手段。
以下参照附图并列举实施例,对本发明的技术方案做进一步的详细说明。
在本实施例的技术方案中,为了记录Web页面内嵌附属文件的URL地址,可以采用如图2所示的数据结构。在图2中包括主节点和从节点。主节点用来记录一个Web页面的主文件,从节点用来记录一个Web页面内嵌的附属文件。主节点中包括该Web页面的URL地址、主文件缓存、指向主文件缓存的指针和关联关系链表指针。其中,关联关系链表指针中记录了指向各从节点的指针。从节点中包括附属文件缓存,以及指向附属文件缓存的指针,附属文件缓存中记录附属文件以及对应的校验参数等。这里,需要指出的是根据Web页面URL地址获得的是主文件以及相关信息,因此也将Web页面URL地址称为主文件的URL地址。
本发明的技术方案主要通过记录Web页面与其内嵌附属文件URL的关联关系,在收到对主文件的Http请求报文时,利用关联关系主动更新主文件包含的附属文件,以提高Web页面的响应速度。因此,在本实施例的技术方案中通过访问Web页面的流程,来介绍记录关联关系以及更新附属文件的操作。
在本实施例中,假设客户端A和客户端B通过Web代理设备访问一Web页面,客户端A先访问。该Web页面由主文件和一附属文件构成,Web服务器X提供主文件,Web服务器Y提供附属文件。在Web代理设备上未保存所要访问的Web页面。那么,客户端A访问Web页面时,Web代理设备将建立Web页面与内嵌附属文件的关联关系。当客户端B再次访问该Web页面时,Web代理设备则根据记录的关联关系提前更新附属文件,使客户端B能够更加快速地访问Web页面。
参见图3,图3为客户端A访问Web页面的流程图,在此过程中Web代理设备将记录Web页面内嵌附属文件的URL。
在步骤301中,客户端A需要访问当前Web页面,向Web代理设备发送请求主文件的Http请求报文。
在步骤302中,Web代理设备根据收到的Http请求报文的URL,向Web服务器X发送Http请求报文。
由于Web代理设备本身并不知道当前收到的Http请求报文是针对Web页面,还是针对Web页面内嵌附属文件的。因此,为了建立该Web页面的关联关系,Web代理设备向Web服务器X发送Http请求报文后,还需要监控从Web服务器X返回的应答报文,用来确定当前Http请求报文对应的文件对象。在返回的应答报文携带的文件类型为主文件类型时,则当前Http请求报文为请求主文件的报文;在返回的应答报文携带的文件类型为附属文件类型时,则当前Http请求报文为请求附属文件的报文。
另外,Web代理设备在收到客户端发来的Http请求报文后,均会根据Http请求报文请求头中的URL判断自身是否缓存了所需的文件,如果缓存了,直接向客户端返回对应的应答报文;如果没有缓存,则根据URL向对应的Web服务器发送该Http请求报文。这里,由于Web代理设备中并没有缓存当前请求Web页面的相关信息,因此向提供该Web页面的Web服务器发送Http请求报文。
在步骤303中,Web服务器向Web代理设备返回所请求主文件的应答报文。
在步骤304中,Web代理设备接收步骤302发送Http请求报文的应答报文,在应答报文应答头的Content-Type字段指示该应答报文中携带的是Web页面的主文件时,确定步骤301中收到的Http请求报文为针对主文件,记录主文件。
具体记录主文件的方式可以是,为当前主文件设置图2所示主节点的数据结构。在其中记录主文件的URL,以及应答报文中携带的主文件以及对应的校验信息。当Web页面的主文件是由Web服务器根据请求参数动态生成的时候,由于主文件在每次生成时均不相同,因此Web代理设备不需要保存其中的主文件以及对应的校验信息。此时,Web代理设备可以根据http响应头中的缓存控制字段确定收到的页面是否可以缓存。
在步骤304中,Web代理设备向客户端A返回主文件应答报文。
在步骤305中,客户端A接收返回的应答报文,获得其中携带的主文件,解析主文件可以获得当前Web页面中附属文件的URL,向Web代理设备Y发送请求附属文件的Http请求报文。
在步骤306中,Web代理设备接收客户端A发送的Http请求报文,根据收到的Http请求报文的URL,向Web服务器Y发送Http请求报文。
与步骤302中的情况相同,Web代理设备本身并不知道当前收到的Http请求报文是针对主文件,还是针对Web页面内嵌附属文件的。为了建立该Web页面的关联关系,Web代理设备向Web服务器Y发送Http请求报文后,还需要监控从Web服务器Y返回的应答报文,用来确定当前Http请求报文对应的文件对象。
相同的,Web代理设备在收到客户端发来的Http请求报文后,均会根据Http请求报文中的URL判断自身是否缓存了所需的文件,如果缓存了,直接向客户端返回对应的应答报文;如果没有缓存,则根据URL向对应的Web服务器发送该Http请求报文。这里,由于Web代理设备中并没有缓存当前请求的Web页面内嵌附属文件,因此需要向提供该附属文件的Web服务器发送Http请求报文。
在步骤307中,Web服务器Y向Web代理设备返回请求附属文件的应答报文。
在步骤308中,Web代理设备接收步骤306发送Http请求报文的应答报文,在应答报文应答头文件类型字段指示该应答报文中携带的不是Web页面的主文件时,确定步骤306中收到的Http请求报文为针对Web页面内嵌附属文件的,记录附属文件建立关联关系。
具体记录附属文件的方式可以是,从步骤306中收到的Http请求报文请求头中获得的Referer字段,确定附属文件源自的Web页面,即Web页面的URL。为当前附属文件设置图2所示从节点的数据结构,在其中记录附属文件的URL,以及附属文件以及对应的校验信息;并根据Web页面的URL找到对应的主节点,在主节点中记录当前从节点的指针,从而建立了Web页面与其附属文件的关联关系。
在步骤308中,Web代理设备向客户端A返回针对附属文件的应答报文。
在步骤309中,客户端A接收步骤308中Web代理设备返回的应答报文,根据收到的主文件以及附属文件显示所请求的Web页面。
此时,客户端A实现了对Web页面的访问,同时在Web代理设备也缓存了显示Web页面所需的主文件、附属文件,并且还记录了Web页面与内嵌附属文件之间的关联关系。
在图3所示的流程中,主要介绍的是依据应答报文应答头包含的文件类型字段来判断对应的Http请求报文所针对的文件类型。这种判断方式既适用于TCP常连接的情况,也适用于一个请求一个TCP连接的情况。但是,在使用TCP常连接时,浏览器会首先建立一条TCP连接,发送对Web主页面的请求,在收到响应后,并不断开这条TCP连接。通过分析Web主页面,浏览器会从中提取出Web主页面的附属文件链接。此时,浏览器可以使用刚才未断开的TCP连接获取后续的附属文件。当然,为了加快获取附属文件的速度,浏览器还可以再建立多条新的TCP连接,使用多条并发的TCP连接同时获取多个附属文件。
在使用常连接的情况下,对每条新建TCP连接,在收到第一个Http请求报文时,使用步骤302中的方法就可以确定该报文是否为针对主文件的请求。而TCP连接上后续收到的Http请求报文可以确定为是针对附属文件的。对应本实施例,在使用TCP常连接时,Web代理设备在收到该连接上的第一个Http请求报文时,即步骤302中收到的报文,使用步骤302判断获得的报文是对主文件的请求时,就可以设置主节点并在主节点中记录该Http请求报文的URL,返回的主文件和相关信息。同时,当Web代理设备收到该连接上的后续的Http请求报文时,即步骤306中收到的报文,就可以设置从节点并在该从节点中记录该Http请求报文的URL,查找到所属的Web网页,在Web网页的主节点中记录从节点的指针,待收到附属文件的应答报文时,再记录附属文件以及附属文件的校验信息。
当Web网页内嵌多个附属文件,客户端会依次对附属文件发送Http请求报文,具体的处理与上述介绍的对附属文件相同,即设置从节点并在主节点中记录从节点的指针,具体处理在此不再赘述。
另外,参见图4,图4为客户端B访问当前Web页面的流程。在该流程中,Web代理设备将会根据附属文件URL提前对附属文件进行更新,提高Web页面的响应速度。
在步骤401中,客户端B在需要访问当前Web页面,向Web代理设备发送的请求主文件的Http请求报文。
在步骤402中,Web代理设备接收Http请求报文,根据Http请求报文中携带的URL,查找得到本地记录了该Web页面,根据该Web页面对应的校验信息,确定页面过期时,向Web服务器X发送Http请求报文。
此时,Web代理设备可以根据该Web页面是否记录了关联的附属文件的指针,来确定当前接收到的Http请求报文是否对针对主文件的。在查找Web缓存,得到该Web页面对应节点中记录了关联附属文件的指针时,确定该Http请求报文请求的是主文件;在该Web页面对应节点中未记录附属文件的指针时,确定该Http请求报文请求的是附属文件。
在确定页面未过期,从缓存中取出所保存的主文件发送给客户端。另外,当Web页面是由Web服务器动态生成,Web代理设备未保存Web页面的主文件时,Web代理设备也需要向Web服务器X发送Http请求报文。
在步骤403中,Web服务器向Web代理设备返回所请求主文件的应答报文。
在步骤404中,Web代理设备根据Web服务器返回的应答报文更新主文件缓存,并根据当前Web页面的URL查找得到主节点,根据其中记录的关联关系得到主文件对应的附属文件,根据附属文件的校验信息确定需要更新附属文件时,根据记录的附属文件的URL,向Web服务器Y发送请求附属文件的Http请求报文;并向客户端返回主文件的应答报文。
在步骤405中,Web服务器向Web代理设备返回请求附属文件的应答报文。
在步骤406中,Web代理设备接收应答报文,根据应答报文更新附属文件的记录。
具体包括:如果返回的是状态码为304的应答报文,则只需要更新一下缓存的刷新时间;如果返回的是新页面,则用该页面替换缓存中的内容;如果返回的是404号报文,说明文件已不存在,则删除缓存中保存的文件,并更新页面之间的关联关系。
在步骤407中,客户端B接收返回的应答报文,获得其中携带的主文件,解析主文件获得Web页面内嵌附属文件的URL。
在步骤407中,客户端B根据获得的附属文件的URL,向Web代理设备发送请求附属文件的Http请求报文。
在步骤408中,Web代理设备向客户端B返回自身记录的Web页面的附属文件。
这里,由于Web代理设备已经提前更新了该Web页面的附属文件,因此在收到Http请求报文,根据报文中的URL就能够查找到更新后的附属文件,并将更新后的附属文件返回给客户端B。
在步骤409中,客户端B根据收到的主文件以及附属文件显示所请求的Web页面。
在本实施例上述方法的介绍中,仅以一个附属文件为例进行了介绍。但是,在实际的过程中,一个Web页面中往往内嵌了多个附属文件。对于其中任何一个附属文件的处理均可以按照上述方案执行。当然,在Web代理设备需要获取多个附属文件时,可以对应每个附属文件建立TCP连接,用来提高获取速度;也可以建立TCP常链接,在一条连接上传送多个Http请求来获取附属文件。
另外,在本实施例中,为了有效处理附属文件的老化问题。在主节点中,除了可以记录各从节点的指针,还可以对应各指针记录该附属文件的访问时间。在客户端每访问到该附属文件,以及Web代理设备更新该附属文件,均对访问时间进行更新。当节点未被访问的时间超过一定数值时,删除对应的从节点,同时删除该从节点在主节点中记录的指针。
另外,参见图5,图5为本发明实施例所提供的Web代理设备的结构图。该Web代理设备包括控制单元和缓存单元。其中,所述控制单元,用于记录并将Web页面与其内嵌附属文件URL地址的关联关系保存至所述缓存单元;收到客户端访问已记录关联关系的Web页面的Http请求报文后,根据所述缓存单元记录的关联关系获得所述Web页面附属文件的URL地址,确定需要更新所述附属文件时,根据所获得的URL地址访问Web服务器更新所述附属文件;向客户端提供更新后的附属文件;所述缓存单元,用于保存Web页面与其内嵌附属文件URL地址的关联关系。
具体地,所述控制单元包括记录单元和执行单元。其中,所述记录单元,用于确定收到获取附属文件的Http请求报文,从该请求报文的请求头中查找得到所述附属文件所属的Web页面,并获得请求头中附属文件的URL地址,在所述缓存单元中对应查找到的Web页面记录该附属文件的URL地址;所述执行单元,用于收到客户端访问已记录关联关系的Web页面的Http请求报文后,根据所记录的关联关系获得所述Web页面附属文件的URL地址,确定需要更新所述附属文件时,根据所获得的URL地址访问Web服务器更新所述附属文件;向客户端提供所述Web页面更新后的附属文件。
所述记录单元,用于在确定收到获取附属文件的Http请求报文时,接收客户端发送的Http请求报文,在其应答报文指示返回的文件类型不为主页面的情况下,确定所述Http请求报文为获取附属文件的Http请求报文;或者,在使用TCP常连接的情况下,接收的Http请求报文不为所在TCP连接的第一个Http请求报文时,确定所述Http请求报文为获取附属文件的Http请求报文。
所述记录单元,用于在查找得到所述附属文件所属的Web页面时,根据Http请求头中的Referer字段查找得到附属文件所属的Web页面。
所述记录单元,用于对应查找到的Web页面记录附属文件的URL地址时,对应Web页面的URL地址在所述缓存单元中记录所述附属文件的URL地址;相应的,所述执行单元,用于接收客户端发送的Http请求报文,获得该Http请求报文的目的URL地址,在所述缓存单元中对应该URL地址记录了附属文件的URL地址时,确定收到客户端访问已记录关联关系的Web页面的Http请求报文。
另外,所述记录单元,进一步用于根据请求附属文件的应答报文,在所述缓存单元中对应所述附属文件URL地址记录附属文件以及该附属文件的校验信息;所述执行单元,用于根据所述附属文件的URL地址,从所述缓存单元中获得所述附属文件以及附属文件的校验信息,根据所述校验信息确定当前附属文件过期时,确定需要更新所述Web页面内嵌附属文件。
所述执行单元,用于向客户端提供所述更新后的附属文件,接收客户端发送的获取附属文件的Http请求报文,根据收到的Http请求报文向所述客户端返回更新后的附属文件。
本发明技术方案所提供的Web代理设备,即可以作为Web前向代理设备,也可以作为Web反向代理设备。
在本发明的技术方案中,主要通过Http请求报文中携带的附属文件的URL地址,获得Web页面与其内嵌附属文件URL的关联关系,而不是解析应答报文来获得,因此解决了现有技术无法解析一些应答报文的问题。同时,由于本发明的技术方案利用关联关系主动更新主文件对应的附属文件,使客户端能够直接获得附属文件的更新文件,因此有效的提高了Web页面的响应速度。
另外,由于客户端的Web浏览器有自己的页面缓存,在一般情况下并不需要再次传输文件实体,只有在页面过期需要更新时才会再次传输。因此,本发明的技术方案在收到客户端发送的附属文件Http请求报文后,根据收到的Http请求报文向所述客户端返回所述附属文件的更新文件,相对于现有技术主动将更新文件发送至客户端的技术手段来说,节约了Web代理设备的出口带宽,减少了不必要的文件传输。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种更新Web页面的方法,其特征在于,该方法包括:
记录Web页面与其内嵌附属文件统一资源定位符URL地址的关联关系;
收到客户端访问已记录关联关系的Web页面的超文本传输协议Http请求报文后,根据所记录的关联关系获得所述Web页面附属文件的URL地址,确定需要更新所述附属文件时,根据所获得的URL地址访问Web服务器更新所述附属文件;
向所述客户端提供所述Web页面更新后的附属文件。
2.根据权利要求1所述的方法,其特征在于,所述记录Web页面与其内嵌附属文件URL地址的关联关系包括:
确定收到获取附属文件的Http请求报文,从该请求报文的请求头中查找得到所述附属文件所属的Web页面,并获得请求头中附属文件的URL地址;对应查找到的Web页面记录该附属文件的URL地址。
3.根据权利要求2所述的方法,其特征在于,所述确定收到获取附属文件的Http请求报文包括:
接收客户端发送的Http请求报文,在其应答报文指示返回的文件类型不为主页面的情况下,确定所述Http请求报文为获取附属文件的Http请求报文;或者,在使用TCP常连接的情况下,接收的Http请求报文不为所在TCP连接的第一个Http请求报文时,确定所述Http请求报文为获取附属文件的Http请求报文。
4.根据权利要求2所述的方法,其特征在于,所述查找得到所述附属文件所属的Web页面包括:
根据Http请求头中的Referer字段查找得到附属文件所属的Web页面。
5.根据权利要求2所述的方法,其特征在于,
所述对应查找到的Web页面记录附属文件的URL地址包括:对应Web页面的URL地址记录所述附属文件的URL地址;
所述收到客户端访问已记录关联关系的Web页面的Http请求报文包括:接收客户端发送的Http请求报文,获得该Http请求报文的目的URL地址,在对应该URL地址记录了附属文件的URL地址时,确定收到客户端访问已记录关联关系的Web页面的Http请求报文。
6.根据权利要求1至5中任一权利要求所述的方法,其特征在于,
该方法进一步包括:根据请求附属文件的应答报文,对应所述附属文件的URL地址记录附属文件以及该附属文件的校验信息;
所述确定需要更新所述附属文件包括:根据所述附属文件的URL地址获得附属文件以及附属文件的校验信息,根据所述校验信息确定当前附属文件过期时,确定需要更新所述Web页面内嵌附属文件。
7.根据权利要求1至5中任一权利要求所述的方法,其特征在于,所述向客户端提供所述更新后的附属文件包括:
接收客户端发送的获取附属文件的Http请求报文,根据收到的Http请求报文向所述客户端返回更新后的附属文件。
8.一种Web代理设备,其特征在于,该Web代理设备包括控制单元和缓存单元;
所述控制单元,用于记录并将Web页面与其内嵌附属文件统一资源定位符URL地址的关联关系保存至所述缓存单元;收到客户端访问已记录关联关系的Web页面的超文本传输协议Http请求报文后,根据所述缓存单元记录的关联关系获得所述Web页面附属文件的URL地址,确定需要更新所述附属文件时,根据所获得的URL地址访问Web服务器更新所述附属文件;向客户端提供更新后的附属文件;
所述缓存单元,用于保存Web页面与其内嵌附属文件URL地址的关联关系。
9.根据权利要求8所述的Web代理设备,其特征在于,所述控制单元包括记录单元和执行单元;
所述记录单元,用于确定收到获取附属文件的Http请求报文,从该请求报文的请求头中查找得到所述附属文件所属的Web页面,并获得请求头中附属文件的URL地址,在所述缓存单元中对应查找到的Web页面记录该附属文件的URL地址;
所述执行单元,用于收到客户端访问已记录关联关系的Web页面的Http请求报文后,根据所记录的关联关系获得所述Web页面附属文件的URL地址,确定需要更新所述附属文件时,根据所获得的URL地址访问Web服务器更新所述附属文件;向客户端提供所述Web页面更新后的附属文件。
10.根据权利要求9所述的Web代理设备,其特征在于,
所述记录单元确定收到获取附属文件的Http请求报文的方式为:接收客户端发送的Http请求报文,在其应答报文指示返回的文件类型不为主页面的情况下,确定所述Http请求报文为获取附属文件的Http请求报文;或者,在使用TCP常连接的情况下,接收的Http请求报文不为所在TCP连接的第一个Http请求报文时,确定所述Http请求报文为获取附属文件的Http请求报文。
11.根据权利要求9所述的Web代理设备,其特征在于,
所述记录单元,用于在查找得到所述附属文件所属的Web页面时,根据Http请求头中的Referer字段查找得到附属文件所属的Web页面。
12.根据权利要求9所述的Web代理设备,其特征在于,
所述记录单元,用于对应查找到的Web页面记录附属文件的URL地址时,对应Web页面的URL地址在所述缓存单元中记录所述附属文件的URL地址;
所述执行单元,用于接收客户端发送的Http请求报文,获得该Http请求报文的目的URL地址,在所述缓存单元中对应该URL地址记录了附属文件的URL地址时,确定收到客户端访问已记录关联关系的Web页面的Http请求报文。
13.根据权利要求9至12中任一权利要求所述的Web代理设备,其特征在于,
所述记录单元,进一步用于根据请求附属文件的应答报文,在所述缓存单元中对应所述附属文件URL地址记录附属文件以及该附属文件的校验信息;
所述执行单元,用于根据所述附属文件的URL地址,从所述缓存单元中获得所述附属文件以及附属文件的校验信息,根据所述校验信息确定当前附属文件过期时,确定需要更新所述Web页面内嵌附属文件。
14.根据权利要求9至12中任一权利要求所述的Web代理设备,其特征在于,
所述执行单元,用于向客户端提供所述更新后的附属文件,接收客户端发送的获取附属文件的Http请求报文,根据收到的Http请求报文向所述客户端返回更新后的附属文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101140780A CN101287013B (zh) | 2008-05-30 | 2008-05-30 | 一种更新Web页面的方法和Web代理设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101140780A CN101287013B (zh) | 2008-05-30 | 2008-05-30 | 一种更新Web页面的方法和Web代理设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101287013A CN101287013A (zh) | 2008-10-15 |
CN101287013B true CN101287013B (zh) | 2011-03-16 |
Family
ID=40058979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101140780A Active CN101287013B (zh) | 2008-05-30 | 2008-05-30 | 一种更新Web页面的方法和Web代理设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101287013B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098328B (zh) * | 2010-12-10 | 2014-06-11 | 华为技术有限公司 | 超文本传输协议http流关联方法和设备 |
CN102075570B (zh) * | 2010-12-31 | 2013-01-30 | 南京中兴特种软件有限责任公司 | 一种基于关键字的http报文缓存机制的实现方法 |
CN102111449A (zh) * | 2011-02-23 | 2011-06-29 | 北京蓝汛通信技术有限责任公司 | 一种更新数据的方法、装置和系统 |
WO2011100913A2 (zh) * | 2011-04-12 | 2011-08-25 | 华为技术有限公司 | 用于访问资源的方法和装置 |
CN103973641B (zh) * | 2013-01-29 | 2017-08-25 | 国际商业机器公司 | 管理不同网站的会话的方法及装置 |
CN104035932B (zh) * | 2013-03-05 | 2017-05-31 | 中国移动通信集团湖南有限公司 | web页面分割方法及装置 |
CN103345393B (zh) * | 2013-07-03 | 2016-05-18 | 北京京东尚科信息技术有限公司 | 一种控制网页的方法和装置 |
CN103516785A (zh) * | 2013-08-19 | 2014-01-15 | 上海艾泰网络信息有限公司 | 网页代理系统及其通信方法 |
CN103714182A (zh) * | 2014-01-10 | 2014-04-09 | 湖南神州祥网科技有限公司 | 一种网页请求的关联方法及装置 |
CN105302801A (zh) * | 2014-05-27 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 一种资源缓存方法及装置 |
CN104462567B (zh) * | 2014-12-26 | 2018-01-09 | 北京奇虎科技有限公司 | web页面的切换方法和装置及综合页面提供装置 |
CN106161427B (zh) * | 2016-06-08 | 2020-02-11 | 北京兰云科技有限公司 | 一种网页处理方法、网络分析器及http服务器 |
CN109344348B (zh) * | 2018-09-20 | 2021-12-21 | 创新先进技术有限公司 | 一种资源更新方法及装置 |
CN110445850A (zh) * | 2019-07-24 | 2019-11-12 | 深圳壹账通智能科技有限公司 | 区块链节点访问方法及装置、存储介质、电子设备 |
CN113923260B (zh) * | 2021-09-28 | 2024-01-09 | 盐城天眼察微科技有限公司 | 一种对代理环境进行处理的方法、装置、终端及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1835499A (zh) * | 2005-03-16 | 2006-09-20 | 华为技术有限公司 | 一种页面访问的实现方法 |
CN1870508A (zh) * | 2005-05-25 | 2006-11-29 | 中兴通讯股份有限公司 | 一种web网管系统中显示实时数据的方法 |
-
2008
- 2008-05-30 CN CN2008101140780A patent/CN101287013B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1835499A (zh) * | 2005-03-16 | 2006-09-20 | 华为技术有限公司 | 一种页面访问的实现方法 |
CN1870508A (zh) * | 2005-05-25 | 2006-11-29 | 中兴通讯股份有限公司 | 一种web网管系统中显示实时数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101287013A (zh) | 2008-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101287013B (zh) | 一种更新Web页面的方法和Web代理设备 | |
US7552220B2 (en) | System and method to refresh proxy cache server objects | |
US7716282B2 (en) | Proxy server apparatus and method for providing service using the same | |
EP2122494B1 (en) | Tracking web server | |
CN101147145B (zh) | 基于嵌入式web的管理方法 | |
US7634570B2 (en) | Managing state information across communication sessions between a client and a server via a stateless protocol | |
CN103139279B (zh) | 文件访问方法和系统 | |
US8909697B2 (en) | Computer networking system and method with javascript execution for pre-fetching content from dynamically-generated URL and javascript injection to modify date or random number calculation | |
US8095622B1 (en) | Methods and systems for collecting information transmitted over a network | |
JP5135135B2 (ja) | アプリケーションの実行管理方法、アプリケーションを実行するサーバ計算機及び中継装置 | |
CN105472035A (zh) | 一种文件传输方法及装置 | |
CN103428243A (zh) | 动态网页静态存储的实现方法、设备和系统 | |
US20120246258A1 (en) | Http-based synchronization method and apparatus | |
CN102882974A (zh) | 一种通过网站识别版本号节省网站访问资源的方法 | |
US7069292B2 (en) | Automatic display method and apparatus for update information, and medium storing program for the method | |
CN104615597A (zh) | 浏览器中清除缓存文件的方法、装置和系统 | |
US10120936B2 (en) | Providing system configuration information to a search engine | |
US6968396B1 (en) | Reloading of hypermedia pages by sending only changes | |
CN106959975B (zh) | 一种转码资源缓存处理方法、装置及设备 | |
JP2001014209A (ja) | 情報中継装置および情報中継方法、ならびに情報中継プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN101145936B (zh) | 一种在Web页面中添加标签的方法及其系统 | |
US7930479B2 (en) | System and method for caching and retrieving from cache transaction content elements | |
CN110912769B (zh) | Cdn缓存命中率统计方法、系统、网络设备及存储介质 | |
KR101498920B1 (ko) | 오프라인 실행을 위한 웹 페이지 사전 캐싱 시스템 및 방법 | |
JP5565197B2 (ja) | Webアプリケーションの連携方法、連携装置、および連携プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |