CN103024044A - 网页下载方法及装置 - Google Patents
网页下载方法及装置 Download PDFInfo
- Publication number
- CN103024044A CN103024044A CN2012105459772A CN201210545977A CN103024044A CN 103024044 A CN103024044 A CN 103024044A CN 2012105459772 A CN2012105459772 A CN 2012105459772A CN 201210545977 A CN201210545977 A CN 201210545977A CN 103024044 A CN103024044 A CN 103024044A
- Authority
- CN
- China
- Prior art keywords
- web page
- request
- download
- priority
- page resources
- 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.)
- Granted
Links
Images
Abstract
本发明公开了一种网页下载方法和装置,该装置包括通信模块,其适配为在页面加载中发起对页面中的网页资源的下载请求;拦截模块,其适配为拦截网页资源的下载请求,并依据网页资源的下载请求中的网页资源的类别所对应的下载优先级,形成下载请求队列;请求执行模块,其适配为在下载请求队列中依据所述下载优先级对不同类别的网页资源进行下载;其中,所述网页资源的下载请求为http下载请求;所述拦截模块,其适配为拦截所述网页资源的http下载请求,所述http下载请求被钩子函数所拦截,并将所述http下载请求中所有的资源请求设置为请求发送状态。采用本发明的技术方案能够实现在网页浏览时,对影响网页效果的资源进行优先下载,提高了网页下载效率。
Description
技术领域
本发明涉及互联网技术领域,特别地是涉及一种网页下载方法及装置。
背景技术
出现在下文中的缩写定义如下:
DNS:域名系统
HTML:超文本标记语言
HTTP:超文件传输协议
MIME:多用途互联网邮件扩展
FTP:文件传输协议
URL:统一资源定位符
网页浏览器是指可以显示网页服务器或者文件系统的HTML文件内容,并让用户与这些文件交互的一种软件。网页浏览器主要通过HTTP协议与网页服务器交互并获取网页,这些网页由URL指定,文件格式通常为HTML,并由MIME在HTTP协议中指明。一个网页中可以包括多个文档,每个文档都是分别从服务器获取的。大部分的浏览器本身支持除了HTML之外的广泛的格式,例如JPEG、PNG、GIF等图像格式,并且能够扩展支持众多的插件(plug-ins)。另外,许多浏览器还支持其他的URL类型及其相应的协议,如FTP、Gopher、HTTPS(HTTP协议的加密版本)。HTTP内容类型和URL协议规范允许网页设计者在网页中嵌入图像、动画、视频、声音、流媒体等。个人电脑上常见的网页浏览器包括微软的Internet Explorer、Mozilla的Firefox、Apple的Safari,Opera、Google Chrome、GreenBrowser浏览器、360安全浏览器、搜狗高速浏览器、天天浏览器、腾讯TT、傲游浏览器、百度浏览器、腾讯QQ浏览器等,浏览器是最经常使用到的客户端程序。
常用的浏览器工作原理如图1所示,图1为现有技术中网络浏览器的工作原理:
(1)浏览器分析超链接指向的页面的URL(如:清华大学的网址:
www.tsinghua.edu.cn
(2)浏览器向DNS请求解析该URL的服务器ip地址
(3)DNS解析出URL(清华大学服务器)的ip地址
(4)浏览器与服务器建立TCP连接
(5)浏览器发出读取文件的请求:GET/chn/yxsz/index.htm
(6)服务器响应浏览器的读取文件的请求,把网页的首页面文件index.htm发给浏览器
(7)释放TCP连接
(8)浏览器显示首页面文件index.htm的所有文本
在上述步骤5中发出的发出读取文件命令GET/chn/yxsz/index.htm时,会从服务器获取该index.htm的资源,其中所述下载的资源包括:html、JS、CSS、bmp、icon等等用于在浏览器的渲染引擎中进行加载显示的资源。而对于上述的各种请求下载的资源在网页中的下载顺序,目前是按照下载网页的从上至下,按照显示的帧中的内容进行下载的。IE的内核目前实现了一些下载资源先后顺序的优化,但是还是没有在浏览器侧中的优化方案。但是低版本的IE,例如IE6/7中的下载顺序并不优化。另外在手机浏览器中,由于手机的带宽更加有限,所以对其资源下载的高效率是有要求的。
本领域的一个现有技术(CN102591877)公开一种嵌入式浏览器网页资源请求方法。此方法中将网络资源分为主资源(例如html文本、JS、图片、CSS)和子资源(例如主网页以外的广告等弹出的界面内容),子资源包括必须子资源和非必须子资源两类。当浏览器发出网址信息请求,解析其对应的主资源,,当网络状况不好时,请求下载所述主资源对应的子资源中的必须子资源;在获取子资源时若网络状况差,则只获取必须子资源然后进行布局显示,不会出现由于非必须子资源不能完全获取而不显示网页的情况,提高了用户体验。但是,此发明对资源下载的顺序界定为主资源和子资源,而子资源仅仅限定是主网页以外的广告等弹出的界面内容,对于主资源中的网页元素(例如html文本、JS、图片、CSS)等资源的下载效率还有待于进一步的提高。
发明内容
针对上述现有技术的缺陷,本发明的技术方案要解决的技术问题是提供一种网页下载方法及装置,以提高网页资源的下载效率。。
依据本发明的一个方面,提供了一种网页下载方法,包括:在页面加载中发起对页面中的网页资源的下载请求;拦截所述网页资源的下载请求,并依据所述网页资源的下载请求中的网页资源的类别所对应的优先级列表所生成的下载优先级,形成下载请求队列;在所述下载请求队列中依据所述下载优先级对不同类别的网页资源进行下载;其中,所述网页资源的下载请求为http下载请求;所述拦截所述网页资源的下载请求步骤包括:拦截所述网页资源的http下载请求,其中所述http下载请求被钩子函数所拦截,并将所述http下载请求中所有的资源请求设置为请求发送状态。
可选地,通过调用windows的API函数增加http网络连接的数量。
可选地,所述网页资源的类别,是根据所述http下载请求中的网页资源的URL获知;则所述网页资源的类别至少包括:网页、脚本、图片、图标或级联样式表。
可选地,所述下载优先级,是根据在浏览器侧基于不同类别的网页资源而设置的不同下载优先级所建立的优先级列表而生成;则所述依据网页资源的下载请求中的网页资源的类别所对应的下载优先级形成下载请求队列,包括:所述网页资源的URL根据所述优先级列表生成请求项目,所述请求项目至少包括URL以及所述URL对应的优先级;所述请求项目根据所述优先级生成所述下载请求队列。
可选地,所述在下载请求队列中依据所述下载优先级对不同类别的网页资源进行下载步骤包括:在所述下载请求队列中依据所述优先级处理以生成放行信号,对被放行的网络资源进行下载。
可选地,所述请求项目的等待时间达到预设的时间阈值时,浏览器侧将对其发出放行信号,优先处理。
可选地,当所述下载请求队列中请求的所有网络资源都下载之后,销毁所述下载请求队列中所有的请求项目。
可选地,所述优先级列表在发起所述http下载请求时动态确定,并且所述优先级列表中网页资源下载优先权设置是根据所述被加载网页的类别而被动态改变。
可选地,所述优先级列表由服务器向浏览器侧推送。
可选地,所述优先级列表保存在浏览器侧,并根据浏览器用户的浏览习惯进行更新。
可选地,所述优先级列表与浏览器用户绑定,并作为浏览器用户信息的一部分同步上传到对应的服务器侧。
依据本发明的另一个方面,提供了一种网页下载装置,包括:通信模块,其适配为在页面加载中发起对页面中的网页资源的下载请求;拦截模块,其适配为拦截所述网页资源的下载请求,并依据所述网页资源的下载请求中的网页资源的类别所对应的优先级列表所生成的下载优先级,形成下载请求队列;请求执行模块,其适配为在所述下载请求队列中依据所述下载优先级对不同类别的网页资源进行下载;其中,所述网页资源的下载请求为http下载请求;所述拦截模块,其适配为拦截所述网页资源的http下载请求,所述http下载请求被钩子函数所拦截,并将所述http下载请求中所有的资源请求设置为请求发送状态。
可选地,所述通信模块通过调用windows的API函数增加http网络连接的数量。
可选地,所述拦截模块根据所述http下载请求中的网页资源的URL获知所述网页资源的类别,所述网页资源的类别至少包括:网页、脚本、图片、图标或级联样式表。
可选地,所述拦截模块进一步包括生成模块,该生成模块适配为根据浏览器侧基于不同类别的网页资源而设置的不同下载优先级所建立的优先级列表而生成所述优先级,且所述生成模块将所述网页资源的URL根据所述优先级列表生成请求项目,所述请求项目至少包括URL以及所述URL对应的优先级;所述请求项目根据所述优先级由所述生成模块生成所述下载请求队列。
可选地,所述请求执行模块依据所述下载请求队列中所述请求项目的优先级进行处理以生成放行信号,对被放行的网络资源进行下载。
可选地,所述请求项目的等待时间达到预设的时间阈值时,所述请求执行模块对其发出放行信号,优先处理。
可选地,当所述下载请求队列中请求的所有网络资源都下载之后,所述请求执行模块销毁所述下载请求队列中所有的请求项目。
可选地,所述优先级列表在发起所述http下载请求时动态确定,并且所述优先级列表中网页资源下载优先权设置是根据所述被加载网页的类别而被动态改变。
可选地,所述优先级列表由服务器向所述浏览器推送。
可选地,所述优先级列表保存在所述浏览器端,并根据浏览器用户的浏览习惯进行更新。
可选地,所述优先级列表与浏览器用户绑定,并作为浏览器用户信息的一部分同步上传到对应的服务器侧。
本发明的技术方案,由于拦截所述网页资源的下载请求,并依据所述网页资源的下载请求中的网页资源的类别所对应的下载优先级形成下载请求队列;在所述下载请求队列中依据所述下载优先级对不同类别的网页资源进行下载,这样就能够改变低版本的IE浏览器的资源下载的顺序,提高了资源下载的效率,更好的支持了对于低版本IE中的资源下载效率(因为有的时候,特定的URL需要使用低版本的IE内核进行渲染),并且对于不同网页在下载的先后顺序上进行不同处理,效率更加有针对性,更加符合用户的使用习惯,和用户的粘性更加高。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图:
图1为现有技术中网络浏览器的工作原理;
图2为本发明一具体实施方式的系统工作流程图;
图3为本发明一具体实施方式中的请求项目的优先级列表示意图;
图4为本发明一具体实施方式的网页下载装置结构框图;
图5为本发明一具体实施方式的浏览器IE6/7浏览器优化页面资源加载顺序的实施原理图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明具体实施方式以IE6/IE7浏览器作为实例。现有的IE6/7浏览器对页面加载的顺序没有进行优化,按照页面的显示顺序加载页面资源。图2为本发明具体实施方式的系统工作流程图,图4为本发明具体实施方式的网页下载装置结构框图。结合图2和图4描述本发明的一个具体实施方式。
步骤S201中,浏览器在页面加载中发起对页面中的网页资源的下载请求,比如,该网页资源下载请求为http下载请求,接收资源下载的http请求。
并且,由于在后续步骤S202、S203,拦截和分析等操作,会导致许多http请求被hook钩子函数拦截,如其子程序internetcallbackFunc()函数,这样,容易使对网页资源的请求过程被阻塞,需要对系统的网络连接的数量进行调解,如将可以建立的http链接的数量先增大,以免导致网络资源请求阻塞。系统的网络连接的数目可以通过调用windows系统中的API函数来改变网络连接数目connect num。
通信模块401可以适配为执行步骤S201的操作。
步骤S202中,拦截所述网页资源的下载请求,如拦截所述网页资源的http下载请求,其中所述http下载请求被钩子函数所拦截,并将所述http下载请求中所有的资源请求设置为请求发送状态。具体例如:在浏览器端运行一个钩子函数(hook function)。钩子(Hook)是一种回调函数,也可以说是系统提供的一种机制,可以在信息到达其他进程之前将信息拦截和处理。(在此实例中此钩子程序名为internetcallbackFunc()函数)。此hook函数把浏览器发出的http请求拦截住,使其处于请求发出状态(sendingrequest)。
步骤S203中,在浏览器端对http资源请求进行分析,如其中的URL进行分析。URL中带有被请求的网页资源的连接,根据此URL就可以获知要加载的网页资源的类别,该网络资源的类别至少包括:网页html、级联样式表css、脚本js、图片bmp、图标icon等等。如,对于“sendingrequest”,URL状态中就带有被请求的网页资源的链接,网页资源的类别就是根据所述http下载请求中的的网页资源的URL获知。
步骤S204中,在得到网络资源的类别后,浏览器根据各种不同的资源,设置不同的下载优先级别,并建立一个优先级列表。例如,基于URL类别针对被请求的资源设置优先级生成优先级列表。该下载优先级,是根据在浏览器侧基于不同类别的网页资源而设置的不同下载优先级所建立的优先级列表而生成。
步骤S205,确定http请求中的URL的资源类别后,根据该优先级列表查找对应资源的优先级,并建立一个请求项目(requestitem),生成请求项目列表。该请求项目中至少包括两个项目,URL类别和优先级。
如图3本发明具体实施方式中的请求项目的优先级列表示意图,其中请求项目中的文本资源html的优先级为9,css资源的优先级为8,Js资源的优先级别为5,等等。
步骤S206,对于请求项目中的各种类别的网络资源,浏览器端在拦截网页资源的下载请求时,依据所述网页资源的下载请求中的网页资源的类别所对应的优先级列表所生成的下载优先级形成下载请求队列,将各种不同优先级的资源放入队列中,浏览器根据各资源的优先级依次进行处理。
生成模块4021适配为执行步骤S204至S206的操作。
由步骤S203至S206,可以看到依据网页资源的下载请求中的网页资源的类别所对应的优先级列表所生成的下载优先级形成下载请求队列的一个示例:所述网页资源的URL根据所述优先级列表生成请求项目,所述请求项目至少包括URL以及所述URL对应的优先级;进而所述请求项目根据所述优先级生成所述下载请求队列。
拦截模块402可以适配为执行步骤S202至S206的拦截并形成下载请求队列的一系列操作。
另外,拦截模块402执行的拦截和形成下载请求队列的一系列操作中的优先级列表在发起该http下载请求时动态确定,并且,该优先级列表中网页资源下载优先权设置是根据该被加载网页的类别(如步骤S203中分析出的网页的类别)而动态改变。该优先级列表由服务器向浏览器推送。优先级列表被保存在浏览器侧,能根据浏览器用户的浏览习惯进行更新。优先级列表也能与浏览器用户绑定,作为浏览器用户信息的一部分同步上传到对应的服务器侧。具体的,该优先级列表的形成和定义可以通过多种方式进行,包括以下几种方式:
(1)对于不同的网页(或者不同类别的网页)其对应的优先级列表是不一样的,例如视频相关网页其中的视频插件类别的优先权更高;文本类别的网页,其视频相关插件的优先权肯定不能高;网页的具体分类可以从URL进行分析来进行分类,或者是使用白名单进行分类,在网页加载请求时就可以判定其类别后,动态确定优先权表。
(2)所述优先级列表是可以在服务器端进行推送到客户端进行实时的更新的,不一定限于浏览器侧保存的优先级列表;
(3)对于用户的使用浏览习惯,可以判定出用户的使用习惯,从而判断其属于那一类的用户(依据用户的浏览历史习惯进行判断或者收藏的历史记录),然后在浏览器本地进行上述优先级列表的自动调整;
(4)该优先级列表可以是和用户绑定的,是可以作为用户信息的一部分进行同步上传的。
步骤S207,在下载请求队列中依据该下载优先级对不同类别的网页资源进行下载,其中,对队列中要处理的资源生成放行信号(即对队列中排到的请求发出放行信号),也就是说,此资源的状态变为已发送状态(sentrequest)。具体比如:在该下载请求队列中依据该优先级处理以生成放行信号,对被放行的网络资源进行下载。
为了防止请求项目中的网络资源由于等待时间过长而被抛弃,对于请求项目中的资源请求,如果其等待时间达到预设的时间阈值时,无论其优先级别是否达到,即对其进行强行处理,对其发出放行信号,其状态变为已发送状态。
步骤S208,发送到服务器端进行处理。
步骤S209,判断当前放行的请求是否是队列中最后一个资源请求。如果不是最后一个请求。
返回步骤S207,对队列中下一个请求进行处理。
如果是最后一个资源请求,步骤S210在已放行的请求项目中的各种等待资源下载结束以后,浏览器会对所生成的请求队列发出指令,销毁所有的请求项目,即下载请求队列中的所有网络资源都下载后,销毁下载请求队列中的所有的请求项目,以释放系统资源。
请求执行模块403可以适配为执行步骤S207至S210的操作。
图4是本发明一具体实施方式的网页下载装置结构框图。本发明实施方式的装置至少包括,一个通信模块401,其适配为在页面加载中发起对页面中的网页资源的下载请求;拦截模块402,其适配为拦截所述网页资源的下载请求,并依据网页资源的下载请求中的网页资源的类别所对应的优先级列表所生成的下载优先级,形成下载请求队列;请求执行模块403,其适配为在下载请求队列中依据网络资源的下载优先级对不同类别的网页资源进行下载。对于现有浏览器中和本发明的构思不是直接相关的组件或者模块,出于简要说明的目的都未示出,这一点本领域的技术人员应该意识得到。
在浏览器发出网页资源的下载请求的http下载请求后,拦截模块402,http下载请求,并将http下载请求中所有的资源请求设置为请求发送状态。
进一步,拦截模块402中还包含一个生成模块4021,其为根据浏览器侧基于不同类别的网页资源而设置的不同下载优先级所建立的优先级列表而生成网络资源的优先级;并将网页资源的URL根据优先级列表生成请求项目,请求项目至少包括URL以及所述URL对应的优先级。
请求执行模块403依据所述下载请求队列中所述请求项目的优先级进行处理以生成放行信号,对被放行的网络资源进行下载。或者,当请求项目的等待时间达到预设的时间阈值时,请求执行模块403对其发出放行信号,优先处理。当下载请求队列中请求的所有网络资源都下载之后,请求执行模块403销毁所述下载请求队列中所有的请求项目。
图5为浏览器IE6/7浏览器优化页面资源加载顺序的实施原理图。
其中浏览器通过例如http协议,加载导航网页501,需要向服务器下载网页资源,即发出http下载请求。为了优化下载顺序以提高下载效率,将通过hook钩子回调,拦截该http下载请求,hook钩子采用internetcallbackFunc()回调函数,并将该被拦截的请求处于请求发出状态sendingrequest。http下载请求中包含了各种信息,尤其是有要下载的各种类别的网页资源的信息,如html、css、……。
浏览器根据网页资源的URL获得网页资源的类别503,并向DNS请求解析该URL的服务器ip地址,解析出名字并请求建立连接,当解析出URL的ip地址后与能提供下载资源的服务器502建立连接。
钩子函数回调(拦截)后按照网页资源的类别503的优先级505(通常动态确定,服务器可以推送初始的优先级给浏览器)形成的优先级列表,生成请求项目,该请求项目包含URL和其对应的优先级信息,由请求项目的优先级生成下载优先级,最终形成下载优先级队列(后面将依据下载优先级对不同类别的网页资源进行下载)。回调后,http请求将等待,直到获得下载优先级队列的放行信号。并且,通过API函数来改变网络连接数目connect num506。扩大的网络连接数目避免了阻塞,保证了通常,并依据优先级调度504请求项目以进行下载。
等待直到获得放行信号期间,若超过预设时间阈值,即设置的最长等待时间,则强制给予放行信号,提前发送,发送后的请求将处于已发出状态sentrequest。
通过调度请求项目,对每个下载请求依顺序发送到服务器执行下载507。
本发明的具体实施方式是以http协议为例,但对于其他支持URL类型及其相应的协议,如FTP、Gopher、HTTPS(HTTP协议的加密版本)本发明同样适用。而且,对于现有的各种网络浏览器,比如微软的Internet Explorer、Mozilla的Firefox、Apple的Safari,Opera、Google Chrome、GreenBrowser浏览器、360安全浏览器、搜狗高速浏览器、天天浏览器、腾讯TT、傲游浏览器、百度浏览器、腾讯QQ浏览器等,本发明的方法同样适用。由于移动通讯终端的带宽有限,本发明提出的方法对于提高移动通讯终端的网页资源下载效率尤其有效。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本文公开了A1、一种网页下载方法,包括:在页面加载中发起对页面中的网页资源的下载请求;拦截所述网页资源的下载请求,并依据所述网页资源的下载请求中的网页资源的类别所对应的下载优先级形成下载请求队列;在所述下载请求队列中依据所述下载优先级对不同类别的网页资源进行下载;其中,所述网页资源的下载请求为http下载请求;则所述拦截所述网页资源的下载请求步骤包括:拦截所述网页资源的http下载请求,其中所述http下载请求被钩子函数所拦截,并将所述http下载请求中所有的资源请求设置为请求发送状态。A2、如A1所述的方法,其特征在于,进一步包括:通过调用windows的API函数增加http网络连接的数量。A3、如A1所述的方法,其特征在于,所述网页资源的类别是根据所述http下载请求中的网页资源的URL获知;则所述网页资源的类别至少包括:网页、脚本、图片、图标或级联样式表。A4、如A3所述的方法,其特征在于,所述下载优先级是根据在浏览器侧基于不同类别的网页资源而设置的不同下载优先级所建立的优先级列表而生成;则所述依据网页资源的下载请求中的网页资源的类别所对应的下载优先级形成下载请求队列,包括:所述网页资源的URL根据所述优先级列表生成请求项目,所述请求项目至少包括URL以及所述URL对应的优先级;所述请求项目根据所述优先级生成所述下载请求队列。A5、如A4所述的方法,其特征在于,所述在下载请求队列中依据所述下载优先级对不同类别的网页资源进行下载步骤包括:在所述下载请求队列中依据所述优先级处理以生成放行信号,对被放行的网络资源进行下载。A6、如A4所述的方法,其特征在于,进一步包括:所述请求项目的等待时间达到预设的时间阈值时,浏览器侧将对其发出放行信号,优先处理。A7、如A4所述的方法,其特征在于,进一步包括:当所述下载请求队列中请求的所有网络资源都下载之后,销毁所述下载请求队列中所有的请求项目。A8、如A3所述的方法,其特征在于,所述下载优先级由所述网页资源的类别的优先级形成的优先级列表确定。A9、如A8所述的方法,其特征在于,所述优先级列表在发起所述http下载请求时动态确定,并且所述优先级列表中网页资源下载优先权设置是根据所述被加载网页的类别而被动态改变。A10、如A9所述的方法,其特征在于,所述优先级列表由服务器向浏览器侧推送。A11、如A10所述的方法,其特征在于,所述优先级列表保存在浏览器侧,并根据浏览器用户的浏览习惯进行更新。A12、如A10所述的方法,其特征在于,所述优先级列表与浏览器用户绑定,并作为浏览器用户信息的一部分同步上传到对应的服务器侧。
本文公开了B13、一种网页下载装置,包括:通信模块,其适配为在页面加载中发起对页面中的网页资源的下载请求;拦截模块,其适配为拦截所述网页资源的下载请求,并依据所述网页资源的下载请求中的网页资源的类别所对应的下载优先级,形成下载请求队列;请求执行模块,其适配为在所述下载请求队列中依据所述下载优先级对不同类别的网页资源进行下载;其中,所述网页资源的下载请求为http下载请求;所述拦截模块,其适配为拦截所述网页资源的http下载请求,所述http下载请求被钩子函数所拦截,并将所述http下载请求中所有的资源请求设置为请求发送状态。B14、如B13所述的装置,其特征在于,进一步包括:所述通信模块通过调用windows的API函数增加http网络连接的数量。B15、如B13所述的装置,其特征在于,所述拦截模块根据所述http下载请求中的网页资源的URL获知所述网页资源的类别,所述网页资源的类别至少包括:网页、脚本、图片、图标或级联样式表。B16、如B15所述的装置,其特征在于,所述拦截模块进一步包括:生成模块,其适配为根据浏览器侧基于不同类别的网页资源而设置的不同下载优先级所建立的优先级列表而生成所述优先级;且所述生成模块将所述网页资源的URL根据所述优先级列表生成请求项目,所述请求项目至少包括URL以及所述URL对应的优先级;所述请求项目根据所述优先级由所述生成模块生成所述下载请求队列。B17、如B16所述的装置,其特征在于,所述请求执行模块依据所述下载请求队列中所述请求项目的优先级进行处理以生成放行信号,对被放行的网络资源进行下载。B18、如B16所述的装置,其特征在于,所述请求项目的等待时间达到预设的时间阈值时,所述请求执行模块对其发出放行信号,优先处理。B19、如B16所述的装置,其特征在于,当所述下载请求队列中请求的所有网络资源都下载之后,所述请求执行模块销毁所述下载请求队列中所有的请求项目。B20、如B15所述的装置,其特征在于,所述下载优先级由所述网页资源的类别的优先级形成的优先级列表确定。B21、如B20所述的装置,其特征在于,所述优先级列表在发起所述http下载请求时动态确定,并且所述优先级列表中网页资源下载优先权设置是根据所述被加载网页的类别而被动态改变。B22、如B21所述的装置,其特征在于,所述优先级列表由服务器向所述浏览器推送。B23、如B22所述的装置,其特征在于,所述优先级列表保存在所述浏览器端,并根据浏览器用户的浏览习惯进行更新。B24、如B22所述的装置,其特征在于,所述优先级列表与浏览器用户绑定,并作为浏览器用户信息的一部分同步上传到对应的服务器侧。
Claims (20)
1.一种网页下载方法,包括:
在页面加载中发起对页面中的网页资源的下载请求;
拦截所述网页资源的下载请求,并依据所述网页资源的下载请求中的网页资源的类别所对应的下载优先级形成下载请求队列;
在所述下载请求队列中依据所述下载优先级对不同类别的网页资源进行下载;
其中,所述网页资源的下载请求为http下载请求;则
所述拦截所述网页资源的下载请求步骤包括:
拦截所述网页资源的http下载请求,其中所述http下载请求被钩子函数所拦截,并将所述http下载请求中所有的资源请求设置为请求发送状态。
2.如权利要求1所述的方法,其特征在于,进一步包括:
通过调用windows的API函数增加http网络连接的数量。
3.如权利要求1所述的方法,其特征在于,所述网页资源的类别是根据所述http下载请求中的网页资源的URL获知;
则所述网页资源的类别至少包括:网页、脚本、图片、图标或级联样式表。
4.如权利要求3所述的方法,其特征在于,所述下载优先级是根据在浏览器侧基于不同类别的网页资源而设置的不同下载优先级所建立的优先级列表而生成;则
所述依据网页资源的下载请求中的网页资源的类别所对应的下载优先级形成下载请求队列,包括:
所述网页资源的URL根据所述优先级列表生成请求项目,所述请求项目至少包括URL以及所述URL对应的优先级;
所述请求项目根据所述优先级生成所述下载请求队列。
5.如权利要求4所述的方法,其特征在于,所述在下载请求队列中依据所述下载优先级对不同类别的网页资源进行下载步骤包括:
在所述下载请求队列中依据所述优先级处理以生成放行信号,对被放行的网络资源进行下载。
6.如权利要求4所述的方法,其特征在于,进一步包括:所述请求项目的等待时间达到预设的时间阈值时,浏览器侧将对其发出放行信号,优先处理。
7.如权利要求4所述的方法,其特征在于,进一步包括:当所述下载请求队列中请求的所有网络资源都下载之后,销毁所述下载请求队列中所有的请求项目。
8.如权利要求3所述的方法,其特征在于,所述下载优先级由所述网页资源的类别的优先级形成的优先级列表确定。
9.如权利要求8所述的方法,其特征在于,所述优先级列表在发起所述http下载请求时动态确定,并且所述优先级列表中网页资源下载优先权设置是根据所述被加载网页的类别而被动态改变。
10.如权利要求9所述的方法,其特征在于,所述优先级列表由服务器向浏览器侧推送。
11.如权利要求10所述的方法,其特征在于,所述优先级列表保存在浏览器侧,并根据浏览器用户的浏览习惯进行更新。
12.如权利要求10所述的方法,其特征在于,所述优先级列表与浏览器用户绑定,并作为浏览器用户信息的一部分同步上传到对应的服务器侧。
13.一种网页下载装置,包括:
通信模块,其适配为在页面加载中发起对页面中的网页资源的下载请求;
拦截模块,其适配为拦截所述网页资源的下载请求,并依据所述网页资源的下载请求中的网页资源的类别所对应的下载优先级,形成下载请求队列;
请求执行模块,其适配为在所述下载请求队列中依据所述下载优先级对不同类别的网页资源进行下载;
其中,所述网页资源的下载请求为http下载请求;
所述拦截模块,其适配为拦截所述网页资源的http下载请求,所述http下载请求被钩子函数所拦截,并将所述http下载请求中所有的资源请求设置为请求发送状态。
14.如权利要求13所述的装置,其特征在于,进一步包括:
所述通信模块通过调用windows的API函数增加http网络连接的数量。
15.如权利要求13所述的装置,其特征在于,所述拦截模块根据所述http下载请求中的网页资源的URL获知所述网页资源的类别,所述网页资源的类别至少包括:网页、脚本、图片、图标或级联样式表。
16.如权利要求15所述的装置,其特征在于,所述拦截模块进一步包括:生成模块,其适配为根据浏览器侧基于不同类别的网页资源而设置的不同下载优先级所建立的优先级列表而生成所述优先级;且
所述生成模块将所述网页资源的URL根据所述优先级列表生成请求项目,所述请求项目至少包括URL以及所述URL对应的优先级;
所述请求项目根据所述优先级由所述生成模块生成所述下载请求队列。
17.如权利要求16所述的装置,其特征在于,所述请求执行模块依据所述下载请求队列中所述请求项目的优先级进行处理以生成放行信号,对被放行的网络资源进行下载。
18.如权利要求16所述的装置,其特征在于,所述请求项目的等待时间达到预设的时间阈值时,所述请求执行模块对其发出放行信号,优先处理。
19.如权利要求16所述的装置,其特征在于,当所述下载请求队列中请求的所有网络资源都下载之后,所述请求执行模块销毁所述下载请求队列中所有的请求项目。
20.如权利要求15所述的装置,其特征在于,所述下载优先级由所述网页资源的类别的优先级形成的优先级列表确定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210545977.2A CN103024044B (zh) | 2012-12-14 | 2012-12-14 | 网页下载方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210545977.2A CN103024044B (zh) | 2012-12-14 | 2012-12-14 | 网页下载方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103024044A true CN103024044A (zh) | 2013-04-03 |
CN103024044B CN103024044B (zh) | 2016-07-06 |
Family
ID=47972168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210545977.2A Active CN103024044B (zh) | 2012-12-14 | 2012-12-14 | 网页下载方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103024044B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103716319A (zh) * | 2013-12-26 | 2014-04-09 | 杭州华三通信技术有限公司 | 一种Web访问优化的装置和方法 |
CN104133869A (zh) * | 2014-07-21 | 2014-11-05 | 深圳市金立通信设备有限公司 | 一种网页页面刷新方法 |
CN104144214A (zh) * | 2014-07-21 | 2014-11-12 | 深圳市金立通信设备有限公司 | 一种网络装置以及系统 |
CN104166569A (zh) * | 2014-08-15 | 2014-11-26 | 北京彩云动力教育科技有限公司 | 一种前端页面加载的方法及系统 |
US20140365660A1 (en) * | 2013-04-16 | 2014-12-11 | Tencent Technology (Shenzhen) Company Limited | Systems and Methods for Accessing Network Data |
CN104660712A (zh) * | 2015-03-13 | 2015-05-27 | 网易(杭州)网络有限公司 | 一种离线下载方法及装置 |
CN104917731A (zh) * | 2014-03-12 | 2015-09-16 | 深圳中兴网信科技有限公司 | 一种提高数据显示速度的方法及系统、服务器、浏览器 |
CN105760396A (zh) * | 2014-12-17 | 2016-07-13 | 广州市动景计算机科技有限公司 | 一种网页加载方法及装置 |
WO2016173452A1 (zh) * | 2015-04-29 | 2016-11-03 | 阿里巴巴集团控股有限公司 | 解析任务的处理方法、装置及服务器 |
CN108460042A (zh) * | 2017-02-20 | 2018-08-28 | 华为技术有限公司 | 一种页面显示的方法、相关设备及系统 |
CN108763297A (zh) * | 2018-04-18 | 2018-11-06 | Oppo广东移动通信有限公司 | 网页资源处理方法、装置以及移动终端 |
CN109343862A (zh) * | 2018-08-31 | 2019-02-15 | 北京三快在线科技有限公司 | 应用的资源数据的调度方法及装置 |
CN109657173A (zh) * | 2018-12-13 | 2019-04-19 | 腾讯科技(深圳)有限公司 | 一种网络资源加载方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360349A (zh) * | 2011-07-21 | 2012-02-22 | 深圳市万兴软件有限公司 | 一种获取网页中音/视频链接地址的方法及装置 |
CN102368250A (zh) * | 2011-09-26 | 2012-03-07 | 奇智软件(北京)有限公司 | 一种ie内核浏览器的页面下载控制方法和系统 |
CN102368248A (zh) * | 2011-09-26 | 2012-03-07 | 奇智软件(北京)有限公司 | 一种ie内核浏览器的页面下载控制方法和系统 |
US20120272132A1 (en) * | 2011-04-21 | 2012-10-25 | Qualcomm Innovation Center, Inc. | Methods and apparatus for improved browsing performance by precompilation of high-priority javascripts in a webpage and delaying the removal of corresponding compiled code |
-
2012
- 2012-12-14 CN CN201210545977.2A patent/CN103024044B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120272132A1 (en) * | 2011-04-21 | 2012-10-25 | Qualcomm Innovation Center, Inc. | Methods and apparatus for improved browsing performance by precompilation of high-priority javascripts in a webpage and delaying the removal of corresponding compiled code |
CN102360349A (zh) * | 2011-07-21 | 2012-02-22 | 深圳市万兴软件有限公司 | 一种获取网页中音/视频链接地址的方法及装置 |
CN102368250A (zh) * | 2011-09-26 | 2012-03-07 | 奇智软件(北京)有限公司 | 一种ie内核浏览器的页面下载控制方法和系统 |
CN102368248A (zh) * | 2011-09-26 | 2012-03-07 | 奇智软件(北京)有限公司 | 一种ie内核浏览器的页面下载控制方法和系统 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140365660A1 (en) * | 2013-04-16 | 2014-12-11 | Tencent Technology (Shenzhen) Company Limited | Systems and Methods for Accessing Network Data |
CN103716319A (zh) * | 2013-12-26 | 2014-04-09 | 杭州华三通信技术有限公司 | 一种Web访问优化的装置和方法 |
CN104917731A (zh) * | 2014-03-12 | 2015-09-16 | 深圳中兴网信科技有限公司 | 一种提高数据显示速度的方法及系统、服务器、浏览器 |
CN104133869A (zh) * | 2014-07-21 | 2014-11-05 | 深圳市金立通信设备有限公司 | 一种网页页面刷新方法 |
CN104144214A (zh) * | 2014-07-21 | 2014-11-12 | 深圳市金立通信设备有限公司 | 一种网络装置以及系统 |
CN104144214B (zh) * | 2014-07-21 | 2017-12-29 | 深圳市金立通信设备有限公司 | 一种网络装置以及系统 |
CN104166569A (zh) * | 2014-08-15 | 2014-11-26 | 北京彩云动力教育科技有限公司 | 一种前端页面加载的方法及系统 |
CN104166569B (zh) * | 2014-08-15 | 2017-09-22 | 北京彩云动力教育科技有限公司 | 一种前端页面加载的方法及系统 |
CN105760396B (zh) * | 2014-12-17 | 2019-10-25 | 广州市动景计算机科技有限公司 | 一种网页加载方法及装置 |
CN105760396A (zh) * | 2014-12-17 | 2016-07-13 | 广州市动景计算机科技有限公司 | 一种网页加载方法及装置 |
CN104660712B (zh) * | 2015-03-13 | 2017-12-15 | 网易(杭州)网络有限公司 | 一种离线下载方法及装置 |
CN104660712A (zh) * | 2015-03-13 | 2015-05-27 | 网易(杭州)网络有限公司 | 一种离线下载方法及装置 |
WO2016173452A1 (zh) * | 2015-04-29 | 2016-11-03 | 阿里巴巴集团控股有限公司 | 解析任务的处理方法、装置及服务器 |
CN108460042A (zh) * | 2017-02-20 | 2018-08-28 | 华为技术有限公司 | 一种页面显示的方法、相关设备及系统 |
CN108460042B (zh) * | 2017-02-20 | 2022-04-12 | 华为技术有限公司 | 一种页面显示的方法、相关设备及系统 |
CN108763297A (zh) * | 2018-04-18 | 2018-11-06 | Oppo广东移动通信有限公司 | 网页资源处理方法、装置以及移动终端 |
CN108763297B (zh) * | 2018-04-18 | 2021-08-17 | Oppo广东移动通信有限公司 | 网页资源处理方法、装置以及移动终端 |
CN109343862A (zh) * | 2018-08-31 | 2019-02-15 | 北京三快在线科技有限公司 | 应用的资源数据的调度方法及装置 |
CN109343862B (zh) * | 2018-08-31 | 2022-05-06 | 北京三快在线科技有限公司 | 应用的资源数据的调度方法及装置 |
CN109657173A (zh) * | 2018-12-13 | 2019-04-19 | 腾讯科技(深圳)有限公司 | 一种网络资源加载方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103024044B (zh) | 2016-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102984275A (zh) | 进行网页下载的方法及浏览器 | |
CN103024044A (zh) | 网页下载方法及装置 | |
US11647096B2 (en) | Method and apparatus for automatically optimizing the loading of images in a cloud-based proxy service | |
CN102882991B (zh) | 一种浏览器及其进行域名解析的方法 | |
US9183319B2 (en) | Method and apparatus for automatically optimizing the loading of images in a cloud-based proxy service | |
JP5022301B2 (ja) | プロキシサーバおよび通信中継プログラム、並びに通信中継方法 | |
CN102843445B (zh) | 一种浏览器及其进行域名解析的方法 | |
US10015226B2 (en) | Methods for making AJAX web applications bookmarkable and crawlable and devices thereof | |
CN104063460A (zh) | 一种在浏览器中加载网页的方法和装置 | |
CN102999636A (zh) | 对网页中的弹窗进行拦截处理的方法和浏览器 | |
CN103034727A (zh) | 对网页中的弹窗进行拦截处理的系统 | |
US8868638B2 (en) | Methods for reducing latency in network connections using automatic redirects and systems thereof | |
CN104038510A (zh) | iOS系统透明代理的实现方法及系统 | |
CN104572843A (zh) | 一种页面的加载方法及装置 | |
CN102902802A (zh) | 一种网页转码方法和装置 | |
CN101799821A (zh) | 一种通过微件实现网页应用的方法及系统 | |
CN105516261A (zh) | 网页页面加载控制方法及负载均衡器 | |
CN104239480A (zh) | 一种快速访问网页的方法、装置 | |
CN101771928A (zh) | 一种网页发送方法和系统以及代理服务器 | |
CN103677730A (zh) | 浏览器中的显示文件的方法及设备 | |
CN103559097A (zh) | 一种浏览器中进程间通信的方法、装置和浏览器 | |
CN104978207A (zh) | 上传文件的方法和浏览器及系统 | |
CN103248627A (zh) | 实现访问网站资源的方法、正向代理服务器和系统 | |
CN108664493B (zh) | 统计url是否有效的方法、装置、电子设备和存储介质 | |
US20160261714A1 (en) | Method and System for Defining the Order in Which Web Resources are Obtained by a Web Browser |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220725 Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Patentee before: Qizhi software (Beijing) Co.,Ltd. |