CN103685381B - 一种网页资源下载方法、系统和装置 - Google Patents

一种网页资源下载方法、系统和装置 Download PDF

Info

Publication number
CN103685381B
CN103685381B CN201210336252.2A CN201210336252A CN103685381B CN 103685381 B CN103685381 B CN 103685381B CN 201210336252 A CN201210336252 A CN 201210336252A CN 103685381 B CN103685381 B CN 103685381B
Authority
CN
China
Prior art keywords
webpage
resource
child resource
webpage child
download
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
Application number
CN201210336252.2A
Other languages
English (en)
Other versions
CN103685381A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210336252.2A priority Critical patent/CN103685381B/zh
Publication of CN103685381A publication Critical patent/CN103685381A/zh
Application granted granted Critical
Publication of CN103685381B publication Critical patent/CN103685381B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种网页资源下载方法、系统和装置。该方法包括:客户端下载网页主资源,对下载的网页主资源进行解析,将解析到的网页子资源的下载信息加入到等待发送队列中,在等待发送队列中的网页子资源个数达到预设值或等待发送队列的等待时间达到预设值时,将等待发送队列中的所有网页子资源的下载信息打包在一个下载请求中,将该一个下载请求发给代理服务器;代理服务器从该一个下载请求中解析出一个以上的网页子资源的下载信息,根据解析出的每个网页子资源的下载信息分别发送下载请求,将下载的网页子资源返回给所述客户端。应用本发明能够提高网页加载速度或网页资源的下载速度。

Description

一种网页资源下载方法、系统和装置
技术领域
本申请涉及互联网技术领域,尤其涉及一种网页资源下载方法、系统和设备。
背景技术
浏览器要加载网页,首先要下载并解析网页资源。目前的网页资源包括网页主资源和网页子资源,其中的网页主资源是网页源代码,网页子资源是网页中除网页主资源以外的其他资源,例如图片、流媒体、JavaScript脚本和CSS脚本等。
目前,浏览器加载网页时,先下载网页主资源,然后解析网页主资源。当解析到网页主资源中外链的JavaScript脚本或CSS脚本时,停止解析网页主资源并开始下载外链的JavaScript脚本或CSS脚本,直至该外链的JavaScript脚本或CSS脚本下载完毕并且解析和执行完该JavaScript脚本或CSS脚本后,再继续解析网页主资源。当解析到网页主资源中除了外链的JavaScript脚本和CSS脚本以外的其他子资源时,每解析到一个所述其他子资源,则发送下载该其他子资源的请求,并继续解析网页主资源。
可见,目前的网页子资源可以分为两类,一类是需要等待的网页子资源,当解析到需要等待的网页子资源时,需要等待该网页子资源下载完毕并解析和执行完毕后,才能继续解析网页主资源,另一类是不需要等待的网页子资源,每解析到一个不需要等待的网页子资源时,则发送下载该不需要等待的子资源的请求,并且继续解析主资源。目前,需要等待的网页子资源包括外链的JavaScript脚本和CSS脚本,不需要等待的网页子资源包括除了外链的JavaScript脚本和CSS脚本以外的其他网页子资源。
对上述技术方案进行分析可见,浏览器在加载网页时,当从网页主资源中解析到需要等待的网页子资源时,由于需要等待该网页子资源下载并且解析和执行完毕后,才能继续解析网页主资源,因此导致网页加载速度较慢。当网页主资源中存在不需要等待的网页子资源时,由于每解析到一个不需要等待的网页子资源,都需要发送一次网页子资源下载请求,而每次对网页子资源下载请求的处理都需要建立一个HTTP连接,如果网页中存在N个子资源,就要在浏览器客户端和服务器之间建立N个HTTP连接,由于每个HTTP连接都需要建立Socket连接、发送请求、等待回应,在建立每个Socket连接上额外花费的时间较多,特别是在无线网络环境下,需要1.2秒到12秒的时间才能建立一个Socket连接,因此导致网页子资源下载时间较长。
发明内容
本申请提供了一种网页资源下载方法、系统和装置,能够提高网页加载速度或网页资源的下载速度。
一种网页资源下载方法,该方法包括:
客户端下载网页主资源,对下载的网页主资源进行解析,将解析到的网页子资源的下载信息加入到等待发送队列中,在等待发送队列中的网页子资源个数达到预设值或等待发送队列的等待时间达到预设值时,将等待发送队列中的所有网页子资源的下载信息打包在一个下载请求中,将该一个下载请求发给代理服务器;
代理服务器从该一个下载请求中解析出一个以上的网页子资源的下载信息,根据解析出的每个网页子资源的下载信息分别发送下载请求,将下载的网页子资源返回给所述客户端。
一种网页资源下载方法,该方法包括:
代理服务器接收网页主资源下载请求,下载网页主资源,从网页主资源中解析出需要等待的网页子资源的统一资源标识符(URL)地址信息,将需要等待的网页子资源的URL地址信息和网页主资源打包在一个应答包中返回给浏览器客户端,其中,网页子资源的URL地址信息在应答包中位于网页主资源的前面;
客户端接收所述应答包,从所述应答包中解析出网页子资源的URL地址信息,根据所述网页子资源的URL地址信息发送网页子资源下载请求,从所述应答包中解析出网页主资源;
其中,所述需要等待的网页子资源,是在该网页子资源下载并解析和执行成功后才能继续解析网页主资源的网页子资源。
一种网页资源下载系统,该系统包括客户端和代理服务器;
所述客户端,用于下载网页主资源,对下载的网页主资源进行解析,将解析到的网页子资源的下载信息加入到等待发送队列中,在等待发送队列中的网页子资源个数达到预设值或等待发送队列的等待时间达到预设值时,将等待发送队列中的所有网页子资源的下载信息打包在一个下载请求中,将该一个下载请求发给代理服务器;
所述代理服务器,用于从该一个下载请求中解析出一个以上的网页子资源的下载信息,根据解析出的每个网页子资源的下载信息分别发送下载请求,将下载的网页子资源返回给所述客户端。
一种网页资源下载系统,该系统包括客户端和代理服务器;
所述客户端,用于发送网页主资源下载请求,接收应答包,从应答包中解析出网页子资源的URL地址信息,根据所述网页子资源的URL地址信息发送网页子资源下载请求,从所述应答包中解析出网页主资源;
所述代理服务器,用于接收网页主资源下载请求,下载网页主资源,从网页主资源中解析出需要等待的网页子资源的URL地址信息,将需要等待的网页子资源的URL地址信息和网页主资源打包在一个应答包中返回给浏览器客户端,其中,网页子资源的URL地址信息在应答包中位于网页主资源的前面;
其中,所述需要等待的网页子资源,是在该网页子资源下载并解析和执行成功后才能继续解析网页主资源的网页子资源。
一种客户端,该客户端包括解析模块和网络模块;
所述解析模块,用于对下载的网页主资源进行解析,将解析到的网页子资源的下载信息发给所述网络模块;
所述网络模块,用于将网页子资源的下载信息加入到等待发送队列中,在等待发送队列中的网页子资源个数达到预设值或等待发送队列的等待时间达到预设值时,将等待发送队列中的所有网页子资源的下载信息打包在一个下载请求中,将该一个下载请求发给代理服务器,接收代理服务器返回的网页子资源。
一种客户端,该客户端包括网络模块和解析模块;
所述网络模块,用于向代理服务器发送网页主资源下载请求;
所述解析模块,用于接收代理服务器针对所述网页主资源下载请求返回的应答包,对该应答包进行解析,当从应答包中解析出网页子资源的URL地址信息时,根据解析出的URL地址信息发送网页子资源下载请求,并继续从应答包中解析出网页主资源,
其中,所述应答包中携带有需要等待的网页子资源的URL地址信息和网页主资源,网页子资源的URL地址信息在应答包中位于网页主资源的前面;
其中,所述需要等待的网页子资源,是在该网页子资源下载并解析和执行成功后才能继续解析网页主资源的网页子资源。
一种代理服务器,该代理服务器包括解析模块和网络模块;
所述网络模块,用于接收客户端发来的下载请求,根据解析模块解析出的每个网页子资源的下载信息分别向资源服务器发送下载请求,将下载的网页子资源发回给所述客户端;
所述解析模块,用于从客户端发来的下载请求中解析出一个以上的网页子资源的下载信息时,将每个网页子资源的下载信息发给所述网络模块。
一种代理服务器,该代理服务器包括解析模块和网络模块;
所述网络模块,用于接收客户端发来的网页主资源下载请求,下载网页主资源,将网页主资源和从网页主资源中解析出的需要等待的网页子资源的URL地址信息打包在一个应答包中发给所述客户端;
所述解析模块,用于从所述网络模块下载的网页主资源中解析出需要等待的网页子资源的URL地址信息;
其中,所述需要等待的网页子资源,是在该网页子资源下载并解析和执行成功后才能继续解析网页主资源的网页子资源。
由上述方案可见,本发明中,客户端下载网页主资源并对网页主资源进行解析,当解析到网页子资源时,并没有立即向资源服务器发送网页子资源的下载请求,而是将网页子资源的下载信息加入到等待发送队列中,在等待发送队列中的网页子资源个数达到预设值或等待发送队列的等待时间达到预设值时,将等待发送队列中的所有网页子资源的下载信息打包在一个下载请求中,将该一个下载请求发给代理服务器,由代理服务器从该一个下载请求中解析出一个以上的网页子资源的下载信息,根据解析出的每个网页子资源的下载信息分别发送下载请求,将下载的网页子资源返回给所述客户端。也就是说,本发明中,在客户端和代理服务器之间建立一次HTTP连接,将等待发送队列中的所有网页子资源的下载信息发给代理服务器,然后由代理服务器根据每个网页子资源的下载信息从资源服务器下载网页子资源,与现有技术中客户端只要解析到网页子资源就建立与资源服务器的HTTP连接,从资源服务器获取网页子资源相比,减少了客户端与服务器之间建立HTTP连接的次数,进而减少了Socket连接次数,对于客户端所处网络环境较差的情况而言,例如对于无线网络环境下的客户端而言,相当于减少了处于较差网络环境下的客户端与服务器的HTTP连接次数,并由网络环境较好的代理服务器(代理服务器与资源服务器之间通常为有线网络环境)从资源服务器获取网页子资源信息,将获取的网页子资源信息返回给客户端,因而能够明显加快网页子资源的下载速度。
另外,为了解决客户端由于需要等待某些网页子资源下载完毕后才能继续解析主资源而造成的加载速度较慢的问题,本发明还提出,客户端向代理服务器发送网页主资源下载请求,然后由代理服务器进行一系列处理从而减少客户端等待网页资源下载的时间。具体地,代理服务器根据网页主资源下载请求下载网页主资源,然后进一步对网页主资源进行解析,从而解析出需要等待的网页子资源的URL地址信息,将需要等待的网页子资源的URL地址信息和网页主资源一同打包发给客户端,并且,保证网页子资源的URL地址信息在应答包中的位置位于网页主资源之前,保证客户端读取应答包时能够先读取到网页子资源的URL地址信息,客户端读取到网页子资源的URL地址信息以后,根据网页子资源的URL地址信息发送网页子资源下载请求,并继续从应答包中解析出网页主资源,从而保证了客户端在从网页主资源中解析出需要等待的网页子资源之前,已经发送了关于需要等待的网页子资源的下载请求,从而减少了客户端等待下载所述网页子资源的时间,进而加快了网页的下载速度。
附图说明
图1是本发明提供的网页资源下载方法流程图。
图2是本发明提供的在网页主资源解析过程中下载网页子资源的流程图。
图3是本发明提供的预先下载网页子资源的流程图。
图4是本发明提供的网页资源下载系统的第一组成示意图。
图5是本发明提供的网页资源下载系统的第二组成示意图。
图6是本发明提供的网页资源下载的客户端的第一结构图。
图7是本发明提供的网页资源下载的客户端的第二结构图。
图8是本发明提供的网页资源下载的代理服务器的第一结构图。
图9是本发明提供的网页资源下载的代理服务器的第二结构图。
具体实施方式
图1是本发明提供的网页资源下载方法流程图。
如图1所示,该方法包括:
步骤101,客户端下载网页主资源。
步骤102,客户端对下载的网页主资源进行解析,将解析到的网页子资源的下载信息加入到等待发送队列中。
步骤103,在等待发送队列中的网页子资源个数达到预设值或等待发送队列的等待时间达到预设值时,将等待发送队列中的所有网页子资源的下载信息打包在一个下载请求中,将该一个下载请求发给代理服务器。
步骤104,代理服务器从该一个下载请求中解析出一个以上的网页子资源的下载信息,根据解析出的每个网页子资源的下载信息分别发送下载请求,将下载的网页子资源返回给所述客户端。
可见,图1所述方法通过对在网页主资源解析过程解析到的网页子资源进行打包下载,即将解析到的网页子资源的下载信息加入到等待发送队列中,当等待发送队列中的网页子资源个数达到预设值或者等待发送队列的等待时间达到预设值时,将等待发送队列中的所有网页子资源的下载信息打包成一个下载请求,将该下载请求发给代理服务器,代理服务器对该一个下载请求进行解析,从而根据解析结果代替客户端从资源服务器获取网页子资源,因而减少了处于较差网络环境下的客户端与服务器的HTTP连接次数,由网络环境较好的代理服务器(代理服务器与资源服务器之间通常为有线网络环境)从资源服务器获取网页子资源信息,将获取的网页子资源信息返回给客户端,因而能够明显加快网页子资源的下载速度。
图2是本发明提供的在网页主资源解析过程中下载网页子资源的流程图。
如图2所示,该流程包括:
步骤201,客户端对网页主资源进行解析。
步骤202,客户端判断解析到的网页子资源是否正在下载中,如果是,执行步骤203,否则执行步骤204。
步骤203,将该网页子资源加入到等待响应队列中,返回步骤201。
其中,如果该网页子资源已经在等待响应队列中了,则当等待响应队列中的该网页子资源下载完毕后,可以从缓存中读取下载完毕的网页子资源。
本步骤中,如果该网页子资源是外链的JavaScript脚本或CSS脚本等需要等待的网页子资源,由于只有在该需要等待的网页子资源下载完毕并解析和执行后才能继续解析网页主资源,因此相当于需要等待该网页子资源下载完毕并解析和执行后才能返回步骤201。
步骤204,将该网页子资源的下载信息加入到等待发送队列中。
步骤205,判断等待发送队列中的网页子资源个数是否达到预设值,如果是,执行步骤207,否则,执行步骤206。
步骤206,判断等待发送队列的等待时间是否达到预设值,如果是,执行步骤207,否则继续保持所述等待发送队列处于等待状态,并返回步骤201。
步骤207,将等待发送队列中的所有网页子资源的下载信息打包在一个下载请求中发给代理服务器。
步骤208,代理服务器从该一个下载请求中解析出一个以上的网页子资源的下载信息。
步骤209,代理服务器根据解析出的每个网页子资源的下载信息分别发送下载请求。
步骤210,代理服务器将下载的网页子资源返回给所述客户端。
其中,客户端可以包括解析模块和网络模块,解析模块在解析网页主资源时,如果解析到网页子资源,向网络模块发送该网页子资源的下载请求,网络模块收到该网页子资源的下载请求后,由网络模块执行步骤202-207,换言之,由网络模块判断该网页子资源当前是否正在下载,如果是,将该网页子资源加入到等待响应队列中,其中,如果该网页子资源已经在等待响应队列中了,则保持该网页子资源仍然处于等待响应队列中,直至等待响应队列中的该网页子资源下载完毕后,可以从缓存中读取下载完毕的网页子资源,如果该网页子资源当前没有正在下载,则将该网页子资源的下载请求加入到等待发送队列中,判断等待发送队列中的网页子资源下载请求个数是否达到预定值,如果是,将该等待发送队列中的所有网页子资源下载请求打包在一个下载请求中发给代理服务器,否则继续判断等待发送队列的等待时间是否达到预定值,如果是,将该等待发送队列中的所有网页子资源下载请求打包在一个下载请求中发给代理服务器,否则由解析模块继续解析网页主资源。其中,可以在确定出要将等待发送队列中的所有网页子资源的下载信息打包时,在执行打包动作之前,将所述所有网页子资源加入到等待响应队列中。
其中,等待发送队列的等待时间,是指最先进入该等待发送队列的网页子资源的等待时间。
图2所示方法中,代理服务器还可以将下载的两个以上的网页子资源打包在一个应答包中发给客户端,所述客户端接收所述应答包,从所述应答包中解析出两个以上的网页子资源。
除了利用图2所示的方法在网页主资源解析过程中对网页子资源进行打包下载以外,为了减少客户端等待外链的JavaScript脚本或CSS脚本等需要等待的网页子资源的时间,本发明还提供了一种预先下载网页子资源的方法,具体请参见图3。
图3是本发明提供的预先下载网页子资源的流程图。
如图3所示,该流程包括:
步骤301,客户端向代理服务器发送网页主资源下载请求。
步骤302,代理服务器接收网页主资源下载请求,下载网页主资源。
步骤303,代理服务器从网页主资源中解析出需要等待的网页子资源的URL地址信息,将需要等待的网页子资源的URL地址信息和网页主资源打包在一个应答包中发给所述客户端。
其中,网页子资源的URL地址信息在应答包中位于网页主资源的前面。
其中,多个网页子资源的URL地址信息可以以URL列表的形式携带在应答包中。
步骤304,客户端解析该应答包,当从应答包中解析出网页子资源的URL地址信息时,根据解析出的URL地址信息发送网页子资源下载请求,并继续从应答包中解析出网页主资源。
本步骤中,可以将两个以上的网页子资源的URL地址信息直接打包在一个网页子资源下载请求中发给代理服务器,代理服务器从所述网页子资源下载请求中解析出所述两个以上的网页子资源的URL地址信息,根据解析出的每个网页子资源的URL地址信息分别发送网页子资源下载请求,将下载的网页子资源发给客户端。也可以根据两个以上的网页子资源的URL地址信息分别生成下载请求,将该分别生成的下载请求打包在一个下载请求中发给代理服务器。还可以将解析出的每个网页子资源的URL地址信息加入到等待发送队列中,在等待发送队列中的网页子资源个数达到预定值,或者等待发送队列的发送时间达到预定值时,将等待发送队列中包括URL地址信息在内的所有网页子资源的下载信息打包在一个下载请求中发给代理服务器。
图2所示的方法和图3所示的方法可以单独使用,也可以结合使用。当结合使用时,先执行图3所示流程,在执行完步骤303,即解析出网页主资源以后,执行图2所示流程。
本发明所述需要等待的网页子资源,是在该网页子资源下载并解析和执行成功后才能继续解析网页主资源的网页子资源,例如外链的JavaScript脚本和CSS脚本等。
作为示例性地,本发明所述的打包,可以采用将打包对象以标签长度取值(TLV)的格式携带在数据包的包体中。例如,客户端将一个以上的网页子资源的下载信息打包在一个下载请求中,具体可以为,客户端将一个以上的网页子资源的下载信息,以TLV的格式携带在该一个下载请求中的包体中,即将每个网页子资源的下载信息的标签(Tag)值、长度(Length)值以及该下载信息的具体取值携带在该一个下载请求的包体中。
其中,每个网页子资源的下载信息可以是用于下载网页子资源的HTTP请求,也可以是用于生成所述HTTP请求的必要信息。当所述下载信息是用于下载网页子资源的HTTP请求时,代理服务器可以直接从客户端发来的所述一个下载请求中解析出用于下载每个网页子资源的HTTP请求,因而可以直接将每个网页子资源的HTTP请求发给相应的资源服务器,从资源服务器中下载网页子资源。当所述下载信息是用于生成所述HTTP请求的必要信息时,代理服务器在从客户端发来的所述一个下载请求中解析出每个网页子资源的下载信息后,还需要根据所述下载信息生成用于下载网页子资源的HTTP请求,然后才能向资源服务器发送该HTTP请求,从而从资源服务器下载网页子资源。
根据本发明提供的上述方法,本发明还提供了网页资源下载的系统和装置,具体请参见图4-图9。
图4是本发明提供的网页资源下载系统的第一组成示意图。
如图4所示,该系统包括客户端401和代理服务器402。
客户端401,用于下载网页主资源,对下载的网页主资源进行解析,将解析到的网页子资源的下载信息加入到等待发送队列中,在等待发送队列中的网页子资源个数达到预设值或等待发送队列的等待时间达到预设值时,将等待发送队列中的所有网页子资源的下载信息打包在一个下载请求中,将该一个下载请求发给代理服务器402。
代理服务器402,用于从该一个下载请求中解析出一个以上的网页子资源的下载信息,根据解析出的每个网页子资源的下载信息分别发送下载请求,将下载的网页子资源返回给客户端401。
图5是本发明提供的网页资源下载系统的第二组成示意图。
如图5所示,该系统包括客户端501和代理服务器502。
客户端501,用于发送网页主资源下载请求,接收应答包,从应答包中解析出网页子资源的URL地址信息,根据所述网页子资源的URL地址信息发送网页子资源下载请求,从所述应答包中解析出网页主资源。
代理服务器502,用于接收网页主资源下载请求,下载网页主资源,从网页主资源中解析出需要等待的网页子资源的URL地址信息,将需要等待的网页子资源的URL地址信息和网页主资源打包在一个应答包中返回给客户端501,其中,网页子资源的URL地址信息在应答包中位于网页主资源的前面;其中,所述需要等待的网页子资源,是在该网页子资源下载并解析和执行成功后才能继续解析网页主资源的网页子资源。
图6是本发明提供的网页资源下载的客户端的第一结构图。
如图6所示,该客户端包括解析模块601和网络模块602。
解析模块601,用于对下载的网页主资源进行解析,将解析到的网页子资源的下载信息发给网络模块602。
网络模块602,用于将网页子资源的下载信息加入到等待发送队列中,在等待发送队列中的网页子资源个数达到预设值或等待发送队列的等待时间达到预设值时,将等待发送队列中的所有网页子资源的下载信息打包在一个下载请求中,将该一个下载请求发给代理服务器,接收代理服务器返回的网页子资源。
网络模块602,具体可以用于判断所述解析模块解析到的网页子资源当前是否正在下载中,如果没有正在下载,则将该网页子资源的下载信息加入到等待发送队列中,判断等待发送队列中的网页子资源个数是否达到预设值,如果是,将等待发送队列中的所有网页子资源的下载信息打包在一个下载请求中,否则,判断等待发送队列的等待时间是否达到预设值,如果是,将等待发送队列中的所有网页子资源的下载信息打包在一个下载请求中,否则继续保持所述等待发送队列处于等待状态。
网络模块602,还用于向代理服务器发送网页主资源下载请求。
解析模块601,还用于接收代理服务器针对所述网页主资源下载请求返回的应答包,对该应答包进行解析,当从应答包中解析出网页子资源的URL地址信息时,根据解析出的URL地址信息发送网页子资源下载请求,并继续从应答包中解析出网页主资源,其中,所述应答包中携带有需要等待的网页子资源的URL地址信息和网页主资源,网页子资源的URL地址信息在应答包中位于网页主资源的前面;其中,所述需要等待的网页子资源,是在该网页子资源下载并解析和执行成功后才能继续解析网页主资源的网页子资源。
网络模块602,还用于将解析模块601解析出的两个以上的网页子资源的URL地址信息打包在一个网页子资源下载请求中发给代理服务器。
网络模块602,可以用于将打包对象分别以标签长度取值(TLV)的格式打包在数据包的包体中。
图7是本发明提供的网页资源下载的客户端的第二结构图。
如图7所示,该客户端包括解析模块701和网络模块702。
网络模块702,用于向代理服务器发送网页主资源下载请求。
解析模块701,用于接收代理服务器针对所述网页主资源下载请求返回的应答包,对该应答包进行解析,当从应答包中解析出网页子资源的URL地址信息时,根据解析出的URL地址信息发送网页子资源下载请求,并继续从应答包中解析出网页主资源,其中,所述应答包中携带有需要等待的网页子资源的URL地址信息和网页主资源,网页子资源的URL地址信息在应答包中位于网页主资源的前面;其中,所述需要等待的网页子资源,是在该网页子资源下载并解析和执行成功后才能继续解析网页主资源的网页子资源。
图8是本发明提供的网页资源下载的代理服务器的第一结构图。
如图8所示,该代理服务器包括解析模块801和网络模块802。
网络模块802,用于接收客户端发来的下载请求,根据解析模块解析出的每个网页子资源的下载信息分别向资源服务器发送下载请求,将下载的网页子资源发回给所述客户端。
解析模块801,用于从客户端发来的下载请求中解析出一个以上的网页子资源的下载信息时,将每个网页子资源的下载信息发给网络模块802。
网络模块802,还用于将所述网络模块下载的两个以上的网页子资源打包在一个应答包中发给客户端。
图9是本发明提供的网页资源下载的代理服务器的第二结构图。
如图9所示,该代理服务器包括解析模块901和网络模块902。
网络模块902,用于接收客户端发来的网页主资源下载请求,下载网页主资源,将网页主资源和从网页主资源中解析出的需要等待的网页子资源的URL地址信息打包在一个应答包中发给所述客户端。
解析模块901,用于从网络模块902下载的网页主资源中解析出需要等待的网页子资源的URL地址信息,其中,所述需要等待的网页子资源,是在该网页子资源下载并解析和执行成功后才能继续解析网页主资源的网页子资源。

Claims (19)

1.一种网页资源下载方法,其特征在于,该方法包括:
客户端下载网页主资源,对下载的网页主资源进行解析,将解析到的网页子资源的下载信息加入到等待发送队列中,在等待发送队列中的网页子资源个数达到预设值或等待发送队列的等待时间达到预设值时,将等待发送队列中的所有网页子资源的下载信息打包在一个下载请求中,将该一个下载请求发给代理服务器;
代理服务器从该一个下载请求中解析出一个以上的网页子资源的下载信息,根据解析出的每个网页子资源的下载信息分别发送下载请求,将下载的网页子资源返回给所述客户端。
2.根据权利要求1所述的方法,其特征在于,将解析到的网页子资源的下载信息加入到等待发送队列中,在等待发送队列中的网页子资源个数达到预设值或等待发送队列的等待时间达到预设值时,将等待发送队列中的所有网页子资源的下载信息打包在一个下载请求中包括:
判断解析到的网页子资源当前是否正在下载,如果没有正在下载,则将该网页子资源的下载信息加入到等待发送队列中,判断等待发送队列中的网页子资源个数是否达到预设值,如果是,将等待发送队列中的所有网页子资源的下载信息打包在一个下载请求中,否则,判断等待发送队列的等待时间是否达到预设值,如果是,将等待发送队列中的所有网页子资源的下载信息打包在一个下载请求中,否则继续保持所述等待发送队列处于等待状态。
3.根据权利要求1所述的方法,其特征在于,将下载的网页子资源返回给所述客户端包括:
将下载的两个以上的网页子资源打包在一个应答包中发给客户端;
所述客户端接收所述应答包,从所述应答包中解析出两个以上的网页子资源。
4.根据权利要求1所述的方法,其特征在于,客户端下载网页主资源包括:
客户端向代理服务器发送网页主资源下载请求,接收代理服务器返回的应答包,该应答包中携带有网页子资源的统一资源标识符(URL)地址信息和网页主资源,其中,网页子资源的URL地址信息在应答包中位于网页主资源的前面;
其中,代理服务器接收网页主资源下载请求,下载网页主资源,从网页主资源中解析出需要等待的网页子资源的URL地址信息,将需要等待的网页子资源的URL地址信息和网页主资源打包在一个应答包中发给所述客户端,所述需要等待的网页子资源是在该网页子资源下载并解析和执行成功后才能继续解析网页主资源的网页子资源;
对下载的网页主资源进行解析之前,该方法还包括:
客户端解析该应答包,当从应答包中解析出网页子资源的URL地址信息时,根据解析出的URL地址信息发送网页子资源下载请求,并继续从应答包中解析出网页主资源。
5.根据权利要求4所述的方法,其特征在于,根据解析出的URL地址信息发送网页子资源下载请求包括:
将两个以上的网页子资源的URL地址信息打包在一个网页子资源下载请求中发给代理服务器;
代理服务器从所述网页子资源下载请求中解析出所述两个以上的网页子资源的URL地址信息,根据解析出的每个网页子资源的URL地址信息分别发送网页子资源下载请求,将下载的网页子资源发给客户端。
6.根据权利要求1至5任一权利要求所述的方法,其特征在于,所述打包包括:
将打包对象分别以标签长度取值(TLV)的格式打包在数据包的包体中。
7.一种网页资源下载方法,其特征在于,该方法包括:
代理服务器接收网页主资源下载请求,下载网页主资源,从网页主资源中解析出需要等待的网页子资源的统一资源标识符(URL)地址信息,将需要等待的网页子资源的URL地址信息和网页主资源打包在一个应答包中返回给客户端,其中,网页子资源的URL地址信息在应答包中位于网页主资源的前面;
客户端接收所述应答包,从所述应答包中解析出网页子资源的URL地址信息,根据所述网页子资源的URL地址信息发送网页子资源下载请求,从所述应答包中解析出网页主资源;
其中,所述需要等待的网页子资源,是在该网页子资源下载并解析和执行成功后才能继续解析网页主资源的网页子资源。
8.根据权利要求1所述的方法,其特征在于,所述发送网页子资源下载请求包括:
将两个以上的网页子资源的URL地址信息打包在一个网页子资源下载请求中发给代理服务器;
代理服务器从所述网页子资源下载请求中解析出所述两个以上的网页子资源的URL地址信息,根据解析出的每个网页子资源的URL地址信息分别发送网页子资源下载请求,将下载的网页子资源发给客户端。
9.根据权利要求7或8所述的方法,其特征在于,所述需要等待的网页子资源包括外链的JavaScript脚本或CSS脚本。
10.一种网页资源下载系统,其特征在于,该系统包括客户端和代理服务器;
所述客户端,用于下载网页主资源,对下载的网页主资源进行解析,将解析到的网页子资源的下载信息加入到等待发送队列中,在等待发送队列中的网页子资源个数达到预设值或等待发送队列的等待时间达到预设值时,将等待发送队列中的所有网页子资源的下载信息打包在一个下载请求中,将该一个下载请求发给代理服务器;
所述代理服务器,用于从该一个下载请求中解析出一个以上的网页子资源的下载信息,根据解析出的每个网页子资源的下载信息分别发送下载请求,将下载的网页子资源返回给所述客户端。
11.一种网页资源下载系统,其特征在于,该系统包括客户端和代理服务器;
所述客户端,用于发送网页主资源下载请求,接收应答包,从应答包中解析出网页子资源的URL地址信息,根据所述网页子资源的URL地址信息发送网页子资源下载请求,从所述应答包中解析出网页主资源;
所述代理服务器,用于接收网页主资源下载请求,下载网页主资源,从网页主资源中解析出需要等待的网页子资源的URL地址信息,将需要等待的网页子资源的URL地址信息和网页主资源打包在一个应答包中返回给客户端,其中,网页子资源的URL地址信息在应答包中位于网页主资源的前面;
其中,所述需要等待的网页子资源,是在该网页子资源下载并解析和执行成功后才能继续解析网页主资源的网页子资源。
12.一种客户端,其特征在于,该客户端包括解析模块和网络模块;
所述解析模块,用于对下载的网页主资源进行解析,将解析到的网页子资源的下载信息发给所述网络模块;
所述网络模块,用于将网页子资源的下载信息加入到等待发送队列中,在等待发送队列中的网页子资源个数达到预设值或等待发送队列的等待时间达到预设值时,将等待发送队列中的所有网页子资源的下载信息打包在一个下载请求中,将该一个下载请求发给代理服务器,接收代理服务器返回的网页子资源。
13.根据权利要求12所述的客户端,其特征在于,
所述网络模块,用于判断所述解析模块解析到的网页子资源当前是否正在下载,如果没有正在下载,则将该网页子资源的下载信息加入到等待发送队列中,判断等待发送队列中的网页子资源个数是否达到预设值,如果是,将等待发送队列中的所有网页子资源的下载信息打包在一个下载请求中,否则,判断等待发送队列的等待时间是否达到预设值,如果是,将等待发送队列中的所有网页子资源的下载信息打包在一个下载请求中,否则继续保持所述等待发送队列处于等待状态。
14.根据权利要求12所述的客户端,其特征在于,
所述网络模块,还用于向代理服务器发送网页主资源下载请求;
所述解析模块,还用于接收代理服务器针对所述网页主资源下载请求返回的应答包,对该应答包进行解析,当从应答包中解析出网页子资源的URL地址信息时,根据解析出的URL地址信息发送网页子资源下载请求,并继续从应答包中解析出网页主资源,其中,所述应答包中携带有需要等待的网页子资源的URL地址信息和网页主资源,网页子资源的URL地址信息在应答包中位于网页主资源的前面;
其中,所述需要等待的网页子资源,是在该网页子资源下载并解析和执行成功后才能继续解析网页主资源的网页子资源。
15.根据权利要求14所述的客户端,其特征在于,
所述网络模块,还用于将所述解析模块解析出的两个以上的网页子资源的URL地址信息打包在一个网页子资源下载请求中发给代理服务器。
16.根据权利要求12至15任一权利要求所述的客户端,其特征在于,
所述网络模块,用于将打包对象分别以标签长度取值(TLV)的格式打包在数据包的包体中。
17.一种客户端,其特征在于,该客户端包括网络模块和解析模块;
所述网络模块,用于向代理服务器发送网页主资源下载请求;
所述解析模块,用于接收代理服务器针对所述网页主资源下载请求返回的应答包,对该应答包进行解析,当从应答包中解析出网页子资源的URL地址信息时,根据解析出的URL地址信息发送网页子资源下载请求,并继续从应答包中解析出网页主资源,
其中,所述应答包中携带有需要等待的网页子资源的URL地址信息和网页主资源,网页子资源的URL地址信息在应答包中位于网页主资源的前面;
其中,所述需要等待的网页子资源,是在该网页子资源下载并解析和执行成功后才能继续解析网页主资源的网页子资源。
18.一种代理服务器,其特征在于,该代理服务器包括解析模块和网络模块;
所述网络模块,用于接收客户端发来的下载请求,根据解析模块解析出的每个网页子资源的下载信息分别向资源服务器发送下载请求,将下载的网页子资源发回给所述客户端;
所述解析模块,用于从客户端发来的下载请求中解析出一个以上的网页子资源的下载信息时,将每个网页子资源的下载信息发给所述网络模块;
其中,所述网络模块,还用于将所述网络模块下载的两个以上的网页子资源打包在一个应答包中发给客户端。
19.一种代理服务器,其特征在于,该代理服务器包括解析模块和网络模块;
所述网络模块,用于接收客户端发来的网页主资源下载请求,下载网页主资源,将网页主资源和从网页主资源中解析出的需要等待的网页子资源的URL地址信息打包在一个应答包中发给所述客户端;
所述解析模块,用于从所述网络模块下载的网页主资源中解析出需要等待的网页子资源的URL地址信息;
其中,所述需要等待的网页子资源,是在该网页子资源下载并解析和执行成功后才能继续解析网页主资源的网页子资源。
CN201210336252.2A 2012-09-12 2012-09-12 一种网页资源下载方法、系统和装置 Active CN103685381B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210336252.2A CN103685381B (zh) 2012-09-12 2012-09-12 一种网页资源下载方法、系统和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210336252.2A CN103685381B (zh) 2012-09-12 2012-09-12 一种网页资源下载方法、系统和装置

Publications (2)

Publication Number Publication Date
CN103685381A CN103685381A (zh) 2014-03-26
CN103685381B true CN103685381B (zh) 2015-07-15

Family

ID=50321687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210336252.2A Active CN103685381B (zh) 2012-09-12 2012-09-12 一种网页资源下载方法、系统和装置

Country Status (1)

Country Link
CN (1) CN103685381B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104123365B (zh) * 2014-07-23 2018-06-05 可牛网络技术(北京)有限公司 网页资源下载方法及系统
CN104182490B (zh) * 2014-08-11 2018-06-19 浪潮(北京)电子信息产业有限公司 一种管理数据访问的方法及装置
CN104504095A (zh) * 2014-12-29 2015-04-08 北京奇虎科技有限公司 页面调用文件生成方法和装置
CN105282238B (zh) * 2015-09-16 2018-11-13 深圳市茁壮网络股份有限公司 一种资源管理方法
CN105893451A (zh) * 2015-12-31 2016-08-24 乐视移动智能信息技术(北京)有限公司 一种资源获取方法与装置
CN107241372A (zh) * 2016-03-29 2017-10-10 阿里巴巴集团控股有限公司 配置信息生成、发送方法及资源加载方法和装置及系统
CN108170723B (zh) * 2017-12-07 2020-09-29 维沃移动通信有限公司 一种网页资源获取方法、终端设备、服务器及系统
CN110413911B (zh) * 2018-04-26 2023-08-11 腾讯科技(深圳)有限公司 网络图片加载方法、装置、终端设备及存储介质
CN109657173B (zh) * 2018-12-13 2021-12-14 腾讯科技(深圳)有限公司 一种网络资源加载方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102368250A (zh) * 2011-09-26 2012-03-07 奇智软件(北京)有限公司 一种ie内核浏览器的页面下载控制方法和系统
CN102368249A (zh) * 2011-09-26 2012-03-07 奇智软件(北京)有限公司 一种ie内核浏览器的页面下载控制方法和系统
CN102368213A (zh) * 2011-09-26 2012-03-07 奇智软件(北京)有限公司 一种ie内核浏览器的页面下载控制方法和系统
WO2012047421A1 (en) * 2010-10-04 2012-04-12 Qualcomm Incorporated System and method of performing domain name server pre-fetching
CN102591877A (zh) * 2011-01-14 2012-07-18 深圳市同洲电子股份有限公司 一种嵌入式浏览器网页资源请求方法及浏览装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012047421A1 (en) * 2010-10-04 2012-04-12 Qualcomm Incorporated System and method of performing domain name server pre-fetching
CN102591877A (zh) * 2011-01-14 2012-07-18 深圳市同洲电子股份有限公司 一种嵌入式浏览器网页资源请求方法及浏览装置
CN102368250A (zh) * 2011-09-26 2012-03-07 奇智软件(北京)有限公司 一种ie内核浏览器的页面下载控制方法和系统
CN102368249A (zh) * 2011-09-26 2012-03-07 奇智软件(北京)有限公司 一种ie内核浏览器的页面下载控制方法和系统
CN102368213A (zh) * 2011-09-26 2012-03-07 奇智软件(北京)有限公司 一种ie内核浏览器的页面下载控制方法和系统

Also Published As

Publication number Publication date
CN103685381A (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
CN103685381B (zh) 一种网页资源下载方法、系统和装置
CN102346770B (zh) WebKit浏览器网页内容加载方法及装置
CN106101231B (zh) 通过cdn下载资源的实现方法和装置、服务器、客户端
CN102546794B (zh) 浏览器客户端与后端服务器直通的方法、网关和通信系统
CN102394880B (zh) 内容分发网络中的跳转响应处理方法和设备
US9571556B2 (en) Browser kernel adaptation method and browser therefor
CN102624761A (zh) 一种获取图文信息的装置、系统及方法
CN103124263A (zh) 一种广告推送系统及广告推送设备、广告服务器
CN105007309A (zh) 一种动态数据与静态界面的分离控制系统及方法
CN106549989B (zh) 一种数据传输方法及其系统、用户终端、应用服务器
CN110769009B (zh) 用户身份认证方法及系统
CN103347092A (zh) 一种识别缓存文件的方法及装置
CN103116645A (zh) 移动设备浏览网页的方法及装置
CN103873597A (zh) 分布式网页下载方法和系统
CN103258056B (zh) 处理风格样式表的方法、服务器、客户端和系统
CN102970356A (zh) 云端服务器和客户端的通信方法、系统和装置
CN103581232A (zh) web页面传输方法、web页面显示装置及包含该装置的系统
CN105205151B (zh) 在移动端节约浏览器页面流量的方法及系统
CN105100230A (zh) 一种文件传输方法和装置
CN103905496A (zh) 一种图片下载方法及装置
CN103856827A (zh) 一种基于服务模拟交互的视频内容获取方法及系统
CN103916681A (zh) 一种流媒体内容播放方法、装置及系统
CN103440281A (zh) 一种用于获取下载文件的方法、装置与设备
KR101650829B1 (ko) 대상을 획득하는 방법, 장치, 및 시스템
CN109005250B (zh) 用于访问服务端的方法和装置

Legal Events

Date Code Title Description
PB01 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