http缓存方法、装置及用户终端与流程

文档序号:14940886发布日期:2018-07-13 20:44阅读:147来源:国知局

本发明涉及浏览器技术领域,具体而言,涉及一种http缓存方法、装置及用户终端。



背景技术:

移动浏览器是移动终端(智能手机/平板)用户浏览移动互联网网页的主要工具。http缓存是移动浏览器对可以缓存(或需要校验)的网页资源进行本地保存的机制,移动浏览器基于http应答头的缓存信息判定该网页资源是否进行http缓存。如果是可缓存的(或需要校验的)网页资源,移动浏览器将该网页资源按照计算出的可缓存时间进行http缓存,当后续进行网页浏览需加载同一个网页资源时,可以直接使用缓存数据(对于需进行校验的网页资源,移动浏览器还需要与服务器协商该网页资源是否发生变化,如果是则使用新加载的数据,否则使用http缓存数据),这样可以避免从服务器加载同一个网页资源导致的流量耗费,而且加快了网页浏览的响应速度。

但是http缓存的存储具有容量限制,当达到容量限制时,若需要保存新的http缓存数据,http缓存系统会按照一定的策略来淘汰最长时间没有使用的http缓存数据,以保证有足够的空间来存储新的http缓存数据。对于一些访问频率较低的页面,移动浏览器对页面中所带有的外联图片资源进行http缓存后,用户可能不会再次访问这个页面,也不会再用到这些外联图片资源,因此对这些外联图片资源进行缓存实际上是不必要的容量耗用,从而增加淘汰场景的触发概率,使得有必要缓存的数据容易被淘汰,影响了网页加载速度,用户的浏览体验不好。



技术实现要素:

本发明的目的在于提供一种http缓存方法及装置,以改善上述问题。

本发明的目的还在于提供一种用户终端,以改善上述问题。

为了实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提出一种http缓存方法,所述http缓存方法包括:获取网页的数据进行页面解析以生成dom树;依据所述dom树的数据确定所述网页的页面结构;依据通过网络加载的外联图片资源特征以及所述外联图片资源所在网页的页面结构确定所述外联图片资源的http缓存策略。

第二方面,本发明实施例还提出一种http缓存装置,所述http缓存装置包括:页面解析模块,用于获取网页的数据进行页面解析以生成dom树;网页检测模块,用于依据所述dom树的数据确定所述网页的页面结构;缓存策略确定模块,用于依据通过网络加载的外联图片资源特征以及所述外联图片资源所在网页的页面结构确定所述外联图片资源的http缓存策略。

第三方面,本发明实施例还提出一种用户终端,所述用户终端包括:存储器;处理器;及

http缓存装置,所述http缓存装置存储在所述存储器中并包括一个或多个由所述处理器执行的软件功能模块,所述http缓存装置包括:页面解析模块,用于获取网页的数据进行页面解析以生成dom树;网页检测模块,用于依据所述dom树的数据确定所述网页的页面结构;缓存策略确定模块,用于依据通过网络加载的外联图片资源特征以及所述外联图片资源所在网页的页面结构确定所述外联图片资源的http缓存策略。

相对现有技术,本发明具有以下有益效果:本发明提供的http缓存方法、装置及用户终端,通过获取网页的数据进行页面解析以生成dom树,依据所述dom树的数据确定所述网页的页面结构,依据通过网络加载的外联图片资源特征以及所述外联图片资源所在网页的页面结构确定所述外联图片资源的http缓存策略。本发明通过对外联图片资源设定相应的http缓存策略,能有效提升网页加载速度,用户浏览体验较好。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例所提供的http缓存方法、装置及用户终端的应用环境示意图。

图2示出了本发明实施例所提供的用户终端的结构框图。

图3示出了本发明第一实施例所提供的http缓存装置的功能模块图。

图4示出了本发明第二实施例所提供的http缓存方法的流程示意图。

图标:100-用户终端;200-服务器;300-网络;110-存储器;120-存储控制器;130-处理器;140-外设接口;150-射频单元;160-音频单元;170-触控屏幕;400-http缓存装置;410-页面解析模块;420-网页检测模块;430-缓存策略确定模块;440-网页显示模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

本发明的一个实施例所提供的http缓存方法、装置及用户终端可应用于如图1所示的应用环境中。如图1所示,用户终端100、服务器200位于网络300中,所述用户终端100与服务器200通过网络300进行数据交互。在本发明实施例中,用户终端100中安装有至少一个应用程序(application,app),例如浏览器,与服务器200相对应,为用户提供服务。

在本发明实施例中,所述用户终端100可以是,但不限于手机、平板电脑、移动上网设备(mobileinternetdevice,mid)等电子设备。

图2示出了一种可应用于本发明实施例的http缓存方法及装置的用户终端100的结构框图。如图2所示,用户终端100可以包括存储器110、存储控制器120、处理器130、外设接口140、射频单元150、音频单元160及触控屏幕170。所述存储器110、存储控制器120、处理器130、外设接口140、射频单元150、音频单元160及触控屏幕170各元件之间直接或间接地电性连接,以实现数据的传输或者交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现典型连接。在本实施例中,http缓存装置400包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中或固化在所述用户终端100的操作系统(operatingsystem,os)中的软件功能模块。该处理器130用于执行所述存储器110中存储的可执行模块,例如该http缓存装置400所包括的软件功能模块及计算机程序等。

其中,所述存储器110可以是但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,

rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。存储器110可用于存储软件程序以及模块,如本发明实施例中的http缓存方法,处理器130用于在接收到执行指令后,执行该程序。该处理器130以及其他可能的组件对存储器110的访问可在存储控制器120的控制下进行。

所述处理器130可能是一种集成电路芯片,具有信号处理能力。该处理器130可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(dsp))、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

所述外设接口140将各种输入/输出装置耦合至该处理器130以及该存储器110。在一些实施例中,外设接口140、处理器130以及存储控制器120可以在单个芯片中实现。在其他一些实例中,它们可以分别由独立的芯片实现。

所述射频单元150用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。

所述音频单元160用于向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。

所述触控屏幕170在用户终端100与用户之间同时提供一个交互界面(例如用户操作界面)。在本实施例中,所述触控屏幕170支持单点和多点触控操作,可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处产生的触控操作,并将该感应到的触控操作交由处理器130进行计算和处理。

可以理解,图2所示的结构仅为示意,用户终端100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。

第一实施例

请参照图3,为本发明第一实施例所提供的http缓存装置400的结构框图。所述http缓存装置400运行于浏览器,与服务器200相对应,为用户提供服务,其包括页面解析模块410、网页检测模块420、缓存策略确定模块430及网页显示模块440。

所述页面解析模块410用于获取网页的数据进行页面解析以生成dom树。

例如,用户在打开浏览器后,浏览器依据用户输入的网页地址访问某个特定网页,获取该网页的数据并进行页面解析,逐步生成dom树。

所述网页检测模块420用于依据所述dom树的数据确定所述网页的页面结构。

在本实施例中,所述网页的页面结构可以进行如下分级:一级页面、二级页面及三级页面。可以理解,一级页面通常是站点首页,是站点内容的主入口,综合门户站点(例如uc、凤凰、淘宝等)的首页就是各类资讯/频道页面的聚合页面,一级页面是访问频率最高的页面,例如,用户可能在打开浏览器后多次进入站点首页以查找自己感兴趣的资讯信息。二级页面可以是频道页面、类别页面、列表页等,例如综合门户站点的频道页面(例如娱乐、体育)聚合了这个频道下的各种资讯,论坛站点的板块页面以列表的方式呈现具体帖子所在页面的文字链接(或图文链接),二级页面通常是访问频率次高的页面,但对于某些用户,对二级页面的浏览频率可能高于一级页面。三级页面是呈现主题内容的页面,例如具体的新闻页面、论坛站点具体帖子的页面,三级页面是访问频率低的页面,比如用户在uc浏览过某一则新闻后,可能不会再次访问这则新闻。

在本实施例中,可依据如下策略确定所述网页是否为三级页面:判断所述网页是否为站点首页(例如,可以依据网页地址url信息判定,但不限于此),检测满足首屏显示的dom树数据中是否存在h1/h2/h3/h4/h5/h6这一类标题性标签(满足其中之一即可),当所述网页不是站点首页并且所述dom树的数据中存在上述标题性标签时,则把所述网页标记为三级页面。

所述缓存策略确定模块430用于依据通过网络加载的外联图片资源特征以及所述外联图片资源所在网页的页面结构确定所述外联图片资源的http缓存策略。

需要说明的是,外联图片资源是指以img标签或者background-image属性而引用独立于网页资源地址的图片资源,在本实施例中,需要对通过网络加载的外联图片资源设定http缓存策略,而对于本身已经在本地保存的外联图片资源则不需要对其确定http缓存策略。在本实施例中,通过对网络加载的外联图片资源逐一分析其特征,并依据该外联图片资源的特征及其所在网页的页面结构来确定是否对所述外联图片资源进行http缓存。

具体地,所述缓存策略确定模块430用于当所述外联图片资源所在网页的页面结构为三级页面且以img标签声明的所述外联图片资源为大图时,不对所述外联图片资源进行http缓存。

对某一个三级页面,用户访问一次之后可能不会再次访问,这个页面中的外联图片资源也不会再次使用,因此没有必要对三级页面中这类外联图片资源在本地进行http缓存,这样可以减少不必要的容量耗用(即减少淘汰场景的触发)。例如,某个关于神州十一号顺利发射的新闻(为三级页面),其外联有三张新闻图片,对大多用户而言,只会浏览该新闻一次,相应地这三张新闻图片也只会浏览一次,若对这些新闻图片进行http缓存,实际上没有必要。

所述缓存策略确定模块430还用于当所述外联图片资源为背景图时,对所述外联图片资源进行http缓存。

例如,大多数站点会使用一些小图片作为功能按钮的背景图(例如icon图标)或者页面版式布局的背景图,并且在一级、二级、三级页面都会有这类背景图,对这些背景图进行http缓存时,设定缓存有效期为永久有效,以减少其由于过期而失效的几率,减少网络加载,从而保证网页的功能按钮可以及时地展现,带给用户网页加载很快的良好体验。

所述缓存策略确定模块430还用于当所述外联图片资源所在网页的页面结构为三级页面且以img标签声明的所述外联图片资源不为大图,或所述外联图片资源所在网页的页面结构不为三级页面时,依据所述外联图片资源的http响应头的缓存信息对所述外联图片资源进行或者不进行http缓存。

在本实施例中,对所述外联图片资源所在网页的页面结构为三级页面且以img标签声明的所述外联图片资源不为大图,或者所述外联图片资源所在网页的页面结构不为三级页面这两种情形下的外联图片资源,则是依据所述外联图片资源的http响应头的缓存信息来判断是否进行http缓存,若要对其进行http缓存,则计算出相应的缓存有效期。

需要说明的是,上述对三级页面中的外联图片资源进行大图的判定可依据如下规则:当所述以img标签声明的所述外联图片资源的显示位置满足预设条件且宽度大于或等于预设值时,判断所述外联图片资源为大图,否则判断所述外联图片资源不为大图。其中,所示预设条件可以是该外联图片独占一行显示,所述预设值可以是屏幕宽度的90%,即是所述外联图片资源的样式计算后的宽度大于或等于屏幕宽度的90%,当然,所述预设条件及所述预设值并不以此为限定。

所述网页显示模块440用于渲染生成的dom树以显示网页内容。

在本实施例中,当对通过网络加载的外联图片资源的特征分析完毕后,对生成的dom树进行渲染,开始显示网页内容以供用户浏览。

第二实施例

请参照图4,为本发明第二实施例所提供的http缓存方法的流程示意图。需要说明的是,本发明所述的http缓存方法并不以图4以及以下所述的具体顺序为限制,其基本原理及产生的技术效果与第一实施例相同,为简要描述,本实施例中未提及部分,可参考第一实施例中的相应内容。应当理解,在其它实施例中,本发明所述的http缓存方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图4所示的具体流程进行详细阐述。

步骤s101,获取网页的数据进行页面解析以生成dom树。

例如,用户在打开浏览器后,浏览器依据用户输入的网页地址访问某个特定网页,获取该网页的数据并进行页面解析,逐步生成dom树。

可以理解,该步骤s101可以由上述的页面解析模块410执行。

步骤s102,依据所述dom树的数据确定所述网页的页面结构。

在本实施例中,可依据如下策略确定所述网页是否为三级页面:判断所述网页是否为站点首页(例如,可以依据网页地址url信息判定,但不限于此),检测满足首屏显示的dom树数据中是否存在h1/h2/h3/h4/h5/h6这一类标题性标签(满足其中之一即可),当所述网页不是站点首页并且所述dom树的数据中存在上述标题性标签时,则把所述网页标记为三级页面。

可以理解,该步骤s102可以由上述的网页检测模块420执行。

步骤s103,依据通过网络加载的外联图片资源特征以及所述外联图片资源所在网页的页面结构确定所述外联图片资源的http缓存策略。

在本实施例中,对网络加载的外联图片资源逐一分析其特征,并依据该外联图片资源的特征及其所在网页的页面结构来确定是否对所述外联图片资源进行http缓存。所述外联图片资源的http缓存策略主要包括:

第一种情形:当所述外联图片资源所在网页的页面结构为三级页面且以img标签声明的所述外联图片资源为大图时,不对所述外联图片资源进行http缓存。

对某一个三级页面,用户访问一次之后可能不会再次访问,这个页面中的外联图片资源也不会再次使用,因此没有必要对三级页面中这类外联图片资源在本地进行http缓存,这样可以减少不必要的容量耗用(即减少淘汰场景的触发)。例如,某个关于神州十一号顺利发射的新闻(为三级页面),其外联有三张新闻图片,对大多用户而言,只会浏览该新闻一次,相应地这三张新闻图片也只会浏览一次,若对这些新闻图片进行http缓存,实际上没有必要。

第二种情形:当所述外联图片资源为背景图时,对所述外联图片资源进行http缓存。

例如,大多数站点会使用一些小图片作为功能按钮的背景图(例如icon图标)或者页面版式布局的背景图,并且在一级、二级、三级页面都会有这类背景图,对这些背景图进行http缓存时,设定缓存有效期为永久有效,以减少其由于过期而失效的几率,减少网络加载,从而保证网页的功能按钮可以及时地展现,带给用户网页加载很快的良好体验。

第三种情形:当所述外联图片资源所在网页的页面结构为三级页面且以img标签声明的所述外联图片资源不为大图,或所述外联图片资源所在网页的页面结构不为三级页面时,依据所述外联图片资源的http响应头的缓存信息对所述外联图片资源进行或者不进行http缓存。

在本实施例中,对所述外联图片资源所在网页的页面结构为三级页面且以img标签声明的所述外联图片资源不为大图,或者所述外联图片资源所在网页的页面结构不为三级页面这两种情形下的外联图片资源,则是依据所述外联图片资源的http响应头的缓存信息来判断是否进行http缓存,若要对其进行http缓存,则计算出相应的缓存有效期。

需要说明的是,上述对三级页面中的外联图片资源进行大图的判定可依据如下规则:当所述以img标签声明的所述外联图片资源的显示位置满足预设条件且宽度大于或等于预设值时,判断所述外联图片资源为大图,否则判断所述外联图片资源不为大图。其中,所示预设条件可以是该外联图片独占一行显示,所述预设值可以是屏幕宽度的90%,即是所述外联图片资源的样式计算后的宽度大于或等于屏幕宽度的90%,当然,所述预设条件及所述预设值并不以此为限定。

可以理解,该步骤s103可以由上述的缓存策略确定模块430执行。

步骤s104,渲染生成的dom树以显示网页内容。

在本实施例中,当对通过网络加载的外联图片资源的特征分析完毕后,对生成的dom树进行渲染,开始显示网页内容以供用户浏览。

可以理解,该步骤s104可以由上述的网页显示模块440执行。

综上所述,本发明实施例所提供的http缓存方法、装置及用户终端,移动浏览器获取网页数据进行页面解析逐步生成dom树,依据所述dom树的数据确定所述网页的页面结构,若为三级页面则对其进行标记,然后对通过网络加载的外联图片资源进行特征分析,依据所述外联图片资源特征以及所述外联图片资源所在网页的页面结构确定所述外联图片资源的http缓存策略。当所述外联图片资源所在网页的页面结构为三级页面且以img标签声明的所述外联图片资源为大图时,不对所述外联图片资源进行http缓存;当所述外联图片资源所在网页的页面结构为三级页面且以img标签声明的所述外联图片资源不为大图,或所述外联图片资源所在网页的页面结构不为三级页面时,依据所述外联图片资源的http响应头的缓存信息对所述外联图片资源进行或者不进行http缓存,若要对其进行http缓存,则计算出相应的缓存有效期;当所述外联图片资源为背景图时,对所述外联图片资源进行http缓存,并且所述背景图进行http缓存时,设定缓存有效期为永久有效,减少其由于过期而失效的几率,减少网络加载。其中,当在三级页面下以img标签声明的所述外联图片资源的显示位置满足预设条件且宽度大于或等于预设值时,判断所述外联图片资源为大图,否则判断所述外联图片资源不为大图。本发明的http缓存方法及装置结合用户的浏览行为和习惯,可以减少http缓存不必要的容量耗用,能有效提升网页加载速度,用户浏览体验较好。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1