一种提高网络资源访问速度的方法及装置与流程

文档序号:11805290阅读:261来源:国知局
一种提高网络资源访问速度的方法及装置与流程
本发明涉及互联网领域,特别涉及一种提高网络资源访问速度的方法及装置。

背景技术:
http客户端访问web网站的时候,html文件和样式表文件(如css文件)、页面脚本文件(如js文件)等是分开下载的,需要同web站点进行多次连接;并且由于客户端浏览器需要在解析完html内容之后才能下载样式表文件和页面脚本文件,导致下载过程大体上是串行的;另外,浏览器对资源的下载还存在并行的限制。这些问题会导致延长下载网络资源的时间,影响用户浏览体验。

技术实现要素:
有鉴于此,本发明的目的是提供一种提高网络资源访问速度的方法及装置。为实现上述目的,本发明提供技术方案如下:一种提高网络资源访问速度的方法,应用于web代理网关中,所述方法包括:接收到客户端的http请求时,获取所述http请求对应的html文件;判断缓存中是否存在所述http请求对应的所述html文件,若是,从缓存中获取所述html文件;否则,从源网站获取所述html文件;对html文件中可合并资源对应的资源链接进行合并,或者,在html文 件中增加合并代码,所述合并代码用于指示客户端对所述资源链接进行合并,所述可合并资源包括页面脚本文件、样式表文件、图片和应用;获取所述可合并资源,对获取到的可合并资源进行合并后缓存;将修改后的html文件发送给客户端,以使客户端对该html文件进行解析后请求合并后的资源。上述的方法,其中,还包括:在html文件中增加分解代码,所述分解代码用于指示客户端对合并后的资源进行拆解。一种提高网络资源访问速度的装置,应用于web代理网关中,所述装置包括:获取单元,用于接收到客户端的http请求时,获取所述http请求对应的html文件;判断缓存中是否存在所述http请求对应的所述html文件,若是,从缓存中获取所述html文件;否则,从源网站获取所述html文件;修改单元,用于对html文件中可合并资源对应的资源链接进行合并,或者,在html文件中增加合并代码,所述合并代码用于指示客户端对所述资源链接进行合并,所述可合并资源包括页面脚本文件、样式表文件、图片和应用;合并单元,用于获取所述可合并资源,对获取到的可合并资源进行合并后缓存;发送单元,用于将修改后的html文件发送给客户端,以使客户端对该html文件进行解析后请求合并后的资源。上述的装置,其中,所述修改单元还用于:在html文件中增加分解代码,所述分解代码用于指示客户端对合并后的资源进行拆解。与现有技术相比,本发明具有如下的有益效果:通过在web代理网关上对html文件进行修改,使得客户端可以针对合并后的资源进行请求,从而不需要对每个资源都单独发出请求,减少了浏览器的请求次数;对资源链接进行合并之后减少了连接过程,可以有效提高资源文件下载 速度;由于是在web代理网关中实现资源的合并,因此不需要对web源站进行修改。附图说明图1是根据本发明一个实施例的提高网络资源访问速度的系统结构图;图2是根据本发明一个实施例的提高网络资源访问速度的装置结构图;图3是根据本发明一个实施例的提高网络资源访问速度的方法流程图。具体实施方式以下结合附图对本发明进行详细描述。本发明实施例在web代理网关上自动将可合并资源进行合并,并通知客户端对合并后的资源进行请求,由于客户端不需要对每个资源单独发出请求,从而提高了网络资源访问速度。图1是根据本发明一个实施例的提高网络资源访问速度的系统结构图。参照图1,所述系统可以包括客户端10、web代理网关20和网站服务器30,web代理网关20位于客户端10和网站服务器30之间,一个web代理网关20可以连接一个或多个网站服务器30。其中,客户端10中安装有用户浏览器11,浏览器是指可以显示网页服务器或者文件系统的HTML文件内容,并让用户与这些文件交互的一种软件,可以是IE、firefox、chrome等浏览器。网页浏览器主要通过HTTP协议与网页服务器交互并获取网页,这些网页由统一资源定位符(URL)指定,文件格式通常为HTML,并由MIME在HTTP协议中指明。客户端10可以是有线或无线通信装置,例如,计算机,移动电话,个人数字助理(PDA)等。网站服务器30上存储有一个或多个网页31。Web代理网关20是一种反向代理,浏览器11可以通过web代理网关20获取网站服务器30中的网页31。具体地,浏览器11对网站服务器30的 http请求(页面请求)会首先到达web代理网关20,web代理网关20接收到浏览器11的页面请求后,查看请求的页面文件是否存在与本地缓存中,若是,则从缓存中取出页面文件返回给浏览器11,否则,从网站服务器30获取页面文件后返回给浏览器11,并将所述页面文件添加到本地缓存中,这样,web代理网关20再次接收到对该页面文件的请求时,可以直接从本地缓存中获取该页面文件。本发明实施例与现有技术的一个不同在于,web代理网关20能够自动识别html页面中引用的资源,对于其中可合并的资源,还将对应的资源链接进行合并,或者,通过增加合并代码来指示客户端对所述资源链接进行合并,并且,还从网站服务器30中获取可合并资源,对获取到的可合并资源进行合并后缓存。这样,客户端10对修改后的html文件进行解析后,便可以向web代理网关20请求合并后的资源,由于客户端不需要对每个资源单独发出请求,因此能够提高资源下载速度。其中,可合并资源可以包括页面脚本文件(如js文件)、样式表文件(如css文件)、图片和应用等等。以下给出web代理网关20的具体实现。图2是根据本发明一个实施例的提高网络资源访问速度的装置结构图,所述装置设置在web代理网关20中。参照图2,所述装置可以包括获取单元21、修改单元22、合并单元23和发送单元24。该装置的工作原理为:获取单元21接收到客户端的http请求(页面请求)时,会获取所述http请求对应的html文件(例如页面文件);修改单元22对html文件中可合并资源对应的资源链接进行合并,或者,在html文件中增加合并代码,所述合并代码用于指示客户端对所述资源链接进行合并;合并单元23获取所述可合并资源,对获取到的可合并资源进行合并后缓存;发送单元24将修改后的html文件发送给客户端,以使客户端对该html文件进行解析后请求合并后的资源。其中,所述获取单元21在接收到客户端浏览器的http请求时,还进一步判断缓存中是否存在该http请求对应的html文件,若是,从缓存中获取所述html文件;否则,从源网站获取所述html文件。所述修改单元22对所述html文件进行解析,获取所述html文件中的资源链接,根据获取到的资源链接确定可合并资源,可合并资源可以包括页面脚本文件(如js文件)、样式表文件(如css文件)、图片和应用等等。然后,通知客户端请求合并后的资源,具体有两种实现方式:方式1是直接在web代理网关上将可合并资源的资源链接进行合并,方式2是通过增加合并代码来通知客户端将可合并资源的资源链接进行合并。当所述可合并资源中的部分或全部存在于本地缓存中时,所述合并单元23可以从本地缓存中获取相应的资源,对于不存在于本地缓存中的可合并资源,可以从源网站获取。根据可合并资源中资源类型的不同,可以采用不同的合并方式,例如,对于两个js文件,可以将其内容写在一个js文件中;例如,对于两个图片,可以按照一定方式进行拼接,并且,还可以对拼接后的图片进行压缩。本发明实施例对具体如何合并不做限制,本领域技术人员可以根据具体情况进行选择。客户端接收到修改后的html文件后,会对该html文件进行解析,并根据合并后的资源链接构造http请求,该http请求用于向web代理网关请求合并后的资源。由于不需要对每个资源进行单独请求,因此提高了网络资源的访问速度。进一步,根据需要,如果web代理网关对资源的合并采用了一些特定的方式,则修改单元还在html文件中增加分解代码,所述分解代码用于指示客户端对合并后的资源进行拆解,拆解方式是与合并方式相对应的。图3是根据本发明一个实施例的提高网络资源访问速度的方法流程图,所述方法应用于web代理网关中(图3中的各步骤均由web代理网关执行), web代理网关位于客户端和网站服务器之间,一个web代理网关可以连接一个或多个网站服务器,客户端中安装有用户浏览器,网站服务器上存储有一个或多个网页。参照图3,所述方法可以包括如下步骤:步骤301,接收到客户端的http请求时,获取所述http请求对应的html文件;步骤302,对html文件中可合并资源对应的资源链接进行合并,或者,在html文件中增加合并代码,所述合并代码用于指示客户端对所述资源链接进行合并;步骤303,获取所述可合并资源,对获取到的可合并资源进行合并后缓存;步骤304,将修改后的html文件发送给客户端,以使客户端对该html文件进行解析后请求合并后的资源。进一步,在步骤302中,还可以在html文件中增加分解代码,所述分解代码用于指示客户端对合并后的资源进行拆解。所述可合并资源包括:页面脚本文件、样式表文件、图片和应用等等。需要说明的是,上述流程对步骤302和步骤303的顺序不做限制,例如,也可以先执行步骤303,再执行步骤302.以下给出一个本发明的一个应用实例。假设Web代理网关接收到浏览器的http请求后,获取到的html文件(合并前的html代码)如下:通过解析可以得到,所述html文件中包括了对8个文件的引用,具体包括6个js文件和2个css文件,这些文件均为可合并资源,于是,Web代理网关从缓存或者这些文件所在网站服务器(源站)获取文件的内容,并将6个js文件合并成一个js文件后缓存到本地,将2个css文件合并成一个css文件后缓存到本地,并且,对这些文件对应的资源链接进行合并,资源链接合并后的html代码如下:可以看出,本发明实施例将html页面中的多个js文件和多个css文件的链接分别替换为一个js文件和一个css文件的链接,客户端接收到修改后的 html文件后,只需对合并后的js文件(对应于合并前的6个js文件)和合并后的css文件(对应于合并前的2个css文件)分别进行一次http请求,这显然能够提高网络资源的访问速度。需要说明的是,在附图的流程图示出的步骤可以在诸如设置有一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。另外,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1