页面处理方法、装置、用户终端以及存储介质与流程

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

本发明涉及互联网技术领域,具体而言,涉及一种页面处理方法、装置、用户终端以及存储介质。



背景技术:

传统的缓存策略控制,都是针对某个资源请求进行控制,即资源a的缓存策略控制头部不能控制资源b的缓存策略。缓存策略控制头部可以控制资源在什么条件下可以缓存响应以及可以缓存多久,已缓存的资源在未过期前,都受到缓存策略控制头部的控制。

在实际情况下,我们经常遇到需要更新某个未过期的本地子资源情况。例如某个子资源存在严重问题,虽然网络资源已经修正,但是受限于已缓存在本地的子资源在未过期之前无法更新,我们仍然访问的是未得到修正的子资源。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种页面处理方法、装置以及用户终端,以解决上述问题。

第一方面,本发明实施例提供了一种页面处理方法,所述方法包括:客户端获取服务器返回的主文档的页面缓存策略控制头部,所述页面缓存策略控制头部携带有所述主文档的缓存策略;基于所述主文档的缓存策略,生成所述主文档的子资源的缓存策略;基于所述子资源的缓存策略,获取子资源。

第二方面,本发明实施例提供了一种页面处理装置,所述装置包括:第一获取模块、生成模块以及第二获取模块。第一获取模块,用于获取服务器返回的主文档的页面缓存策略控制头部,所述页面缓存策略控制头部携带有所述主文档的缓存策略;生成模块,用于基于所述主文档的缓存策略,生成所述主文档的子资源的缓存策略;第二获取模块,用于基于所述子资源的缓存策略,获取子资源。

第三方面,本发明实施例提供了一种用户终端,包括处理器以及存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时所述用户终端执行以下操作:所述用户终端获取服务器返回的主文档的页面缓存策略控制头部,所述页面缓存策略控制头部携带有所述主文档的缓存策略;基于所述主文档的缓存策略,生成所述主文档的子资源的缓存策略;基于所述子资源的缓存策略,获取子资源。

第四方面,本发明实施例提供了一种计算机可读存储介质,所述可读取存储介质存储有处理器可执行的程序代码,所述程序代码被配置成使所述处理器执行上述方法。

与现有技术相比,本发明各实施例提出的页面处理方法、装置、用户终端以及存储介质的有益效果是:通过利用主文档的页面缓存策略控制头部去生成主文档的子资源的缓存策略,并根据该子资源的缓存策略获取子资源。运用该方法可以根据主文档的页面缓存策略控制头部生成对应的子文档的缓存策略,缓存控制更加灵活。

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

附图说明

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

图1为本发明实施例提供的服务器与用户终端进行交互的示意图;

图2为本发明实施例提供的用户终端的结构框图;

图3为本发明第一实施例提供的页面处理方法的流程图;

图4为本发明第二实施例提供的页面处理方法的流程图;

图5为本发明第三实施例提供的页面处理装置的结构框图;

图6为本发明第四实施例提供的页面处理装置的结构框图。

具体实施方式

如图1所示,是本发明实施例提供的用户终端100与服务器200进行交互的示意图。所述服务器200通过网络300与一个或多个用户终端100进行通信连接,以进行数据通信或交互。所述服务器200可以是网络服务器、数据库服务器、网页服务器等独立服务器,也可以是由多个独立服务器组成的集成服务器。所述用户终端100可以是个人电脑(personalcomputer,pc)、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)等。

如图2所示,是所述用户终端100的方框示意图。所述用户终端100包括:页面处理装置、存储器110、存储控制器120、处理器130、外设接口140、输入输出单元150、音频单元160、显示单元170。

所述存储器110、存储控制器120、处理器130、外设接口140、输入输出单元150、音频单元160以及显示单元170各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述页面处理装置包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中或固化在客户端设备的操作系统(operatingsystem,os)中的软件功能模块。所述处理器130用于执行存储器110中存储的可执行模块,例如所述页面处理装置包括的软件功能模块或计算机程序。

其中,存储器110可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器110用于存储程序,所述处理器130在接收到执行指令后,执行所述程序,例如,于本发明实施例中,当所述程序由所述处理器130执行时,所述用户终端100可以执行:获取服务器返回的主文档的页面缓存策略控制头部,所述页面缓存策略控制头部携带有所述主文档的缓存策略;基于所述主文档的缓存策略,生成所述主文档的子资源的缓存策略;基于所述子资源的缓存策略,获取子资源。前述本发明实施例任一实施例揭示的流程定义的用户终端100所执行的方法可以应用于处理器130中,或者由处理器130实现。

处理器130可能是一种集成电路芯片,具有信号的处理能力。上述的处理器130可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

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

输入输出单元150用于提供给用户输入数据实现用户与用户终端100的交互。所述输入输出单元150可以是,但不限于,鼠标和键盘等。

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

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

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

于本发明实施例中,用户终端100中安装有客户端,该客户端可以是浏览器也可以是第三方应用软件,与服务器(server)端相对应。

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

第一实施例

请参照图3,图3是本发明第一实施例提供的页面处理方法的流程图。所述方法应用于客户端,其中,所述方法应用于设置在客户终端100中的客户端。下面将对图3所示的流程进行详细阐述,所述方法包括:

步骤s110:客户端获取服务器返回的主文档的页面缓存策略控制头部,所述页面缓存策略控制头部携带有所述主文档的缓存策略。

在本实施例中,主文档可以是描述网页的主体框架的文档,例如,html文档。网页的主体框架可以是网页中包含的资源以及相应属性,例如资源存放的位置、显示区域的高度和宽度、排版信息等。

客户端可以向服务器发起主文档请求,服务器接收到请求后可以基于预先获取到的控制信息生成响应。该响应中包括页面缓存策略控制头部以及响应体,客户端接收到响应后,可以对响应进行解析,将页面缓存策略控制头部以及响应体缓存在本地文件中。

其中,页面缓存策略控制头部(例如page-cache-control,下文提及的page-cache-control可以指代页面缓存策略控制头部)携带有该主文档的缓存策略,该头部包括控制时间以及控制内容,可以控制资源在控制时间内执行控制内容,例如:

page-cache-control:true,control-time=3600

cache-control:max-age=0

content-type:text/html;charset=utf-8,

表示在一小时内,该主文档不能被缓存;响应体对应主文档所包括的资源的内容。

步骤s120:基于所述主文档的缓存策略,生成所述主文档的子资源的缓存策略。

其中,子资源包括主文档所包含的css资源、javascript资源以及图片等资源中的至少一个。

客户端在接收到响应后,可以解析出page-cache-control头部,并基于该page-cache-control头部,生成携带主文档的缓存策略的子资源请求。当然,若客户端在解析响应时,没有查找到page-cache-control头部或者查找到了page-cache-control头部,但该头部的值为空或者为false,则客户端可以直接根据原有的子资源的缓存策略获取子资源。

作为一种方式,可以在请求子资源时,将主文档的缓存策略设置在子资源请求中。在执行所述子资源请求时,客户端可以基于所述子资源请求中的主文档的缓存策略,生成所请求的子资源的缓存策略。即可以通过主文档的页面缓存策略控制头部去控制该主文档页面下所有子资源的缓存策略。

进一步地,在生成所请求的子资源的缓存策略时,客户端可以基于所述子资源请求中的主文档的缓存策略,先去更新子资源本地缓存文件的响应头部,得到更新后的子资源本地缓存文件的响应头部,使得更新后的子资源本地缓存文件的响应头部也携带了主文档的缓存策略,然后再基于更新后的子资源本地缓存文件的响应头部,生成所述子资源的缓存策略。

例如,原有的子资源本地缓存文件的响应头部是:

cache-control:max-age=86400,

根据主文档的缓存策略(由页面缓存策略控制头部控制)更新后的子资源本地缓存文件的响应头部携带有与page-cache-control相同的控制时间以及控制内容:

page-cache-control:true,control-time=3600

cache-control:max-age=0,

那么根据更新后的子资源本地缓存文件的响应头部生成所述子资源的缓存策略是:在1小时内(control-time=3600),该子资源都使用cache-control:max-age=0,即不使用本地缓存。

通过上述举例可以看出,客户端通过主文档请求的页面缓存策略控制头部去更新子资源本地缓存文件的响应头部,从而影响了子资源的缓存策略,通过主文档控制了子资源的缓存。

需要说明的是,主文本并不限于只是html文档,而子资源也不限于html文档所需的css资源、js资源以及图片资源等。只要具有上述主文档和子资源之间的从属关系的文档的缓存策略均可以通过本实施例提供的方法实施,即均在本实施例的保护的范围内。

步骤s130:基于所述子资源的缓存策略,获取子资源。

客户端在生成子资源的缓存策略后,可以根据子资源的缓存策略去获取子资源,例如上文所示的子资源的缓存策略是:在1小时内,该子资源都不使用本地缓存,那么客户端便可以通过向网络请求所需的子资源。若本地缓存的资源有误,而网络资源已经修正,客户端便可通过此方法向网络请求到修正后的子资源,而不是缓存在本地且未过期的有误子资源。

在本实施例中,通过利用主文档请求的页面缓存策略控制头部去更新主文档的子资源的请求头部,使得子资源的请求头部中携带有主文档的缓存策略,再根据子资源的请求头部去更新子资源本地缓存文件的响应头部,使得更新后的子资源本地缓存文件的响应头部也携带所述主文档的缓存策略,从而通过主文档的缓存策略生成子资源的缓存策略,并根据该子资源的缓存策略获取子资源,可以得到已更新的子资源,而不是缓存在本地中的未过期且未更新的子资源,缓存控制更加灵活。

第二实施例

请参照图4,图4是本发明第二实施例提供的页面处理方法的流程图,所述方法应用于客户端。下面将对图4所示的流程进行阐述,所述方法包括:

步骤s210:客户端获取服务器返回的主文档的页面缓存策略控制头部,所述页面缓存策略控制头部携带有所述主文档的缓存策略。

步骤s220:判断在子资源本地缓存文件中是否存在有效的子资源。

由于本地缓存文件中的子资源存在有效期,当客户端发起子资源请求时,可以先在客户端内部的子资源本地缓存文件模块中判断该子资源是否过期,即是否存在有效的子资源。

进一步地,可以通过原有本地缓存文件的响应头部中的“control-time”来判断,“control-time”决定了缓存的时间。

步骤s230:当存在时,将原有的子资源本地缓存文件的响应头部,更新为携带有所述主文档的缓存策略的响应头部。

步骤s231:否则,基于原有的子资源本地缓存文件的响应头部,生成所述子资源的缓存策略,并基于所述子资源的缓存策略获取子资源。

步骤s240:基于所述更新后的响应头部,生成所述子资源的缓存策略。

步骤s250:基于所述子资源的缓存策略,获取子资源。

在本实施例中,通过利用主文档请求的页面缓存策略控制头部去更新主文档的子资源的请求头部,使得子资源的请求头部中携带有主文档的缓存策略,在判断子资源本地缓存文件中存在有效子资源后,再根据子资源的请求头部去更新子资源本地缓存文件的响应头部,使得更新后的子资源本地缓存文件的响应头部也携带所述主文档的缓存策略,从而通过主文档的缓存策略生成子资源的缓存策略,并根据该子资源的缓存策略获取子资源,可以得到已更新的子资源,而不是缓存在本地中的未过期且未更新的子资源,缓存控制更加灵活。

第三实施例

请参照图5,图5是本发明第三实施例提供的页面处理装置400的结构框图,所述装置运行于客户终端,包括:第一获取模块410、生成模块420以及第二获取模块430。下面将对图5所示的结构框图进行阐述。

第一获取模块410,用于获取服务器返回的主文档的页面缓存策略控制头部,所述页面缓存策略控制头部携带有所述主文档的缓存策略。

生成模块420,用于基于所述主文档的缓存策略,生成所述主文档的子资源的缓存策略。

第二获取模块420,用于基于所述子资源的缓存策略,获取子资源。

进一步地,所述生成模块420可以包括:

更新子模块421,用于将原有的子资源本地缓存文件的响应头部,更新为携带有所述主文档的缓存策略的响应头部;

生成子模块422,用于基于所述更新后的响应头部,生成所述子资源的缓存策略。

本实施例对页面处理装置400的各功能模块实现各自功能的过程,请参见上述图1至图4所示实施例中描述的内容,此处不再赘述。

本实施例中,各模块可以是由软件代码实现,此时,上述的各模块可存储于用户终端100的存储器110内。以上各模块同样可以由硬件例如集成电路芯片实现。

第四实施例

请参照图6,图6是本发明第四实施例提供的页面处理装置500的结构框图。下面将对图6所示的结构框图进行阐述,所示装置包括:第一获取模块510、生成模块520以及第二获取模块530。

第一获取模块510,用于获取服务器返回的主文档的页面缓存策略控制头部,所述页面缓存策略控制头部携带有所述主文档的缓存策略。

生成模块520,用于基于所述主文档的缓存策略,生成所述主文档的子资源的缓存策略。

第二获取模块530,用于基于所述子资源的缓存策略,获取子资源。

进一步地,所述生成模块520可以包括:

更新子模块521,用于将原有的子资源本地缓存文件的响应头部,更新为携带有所述主文档的缓存策略的响应头部;

生成子模块522,用于基于所述更新后的响应头部,生成所述子资源的缓存策略。

更进一步地,所述更新子模块521可以包括:

判断子模块5211,用于判断在子资源本地缓存文件中是否存在有效的所述子资源;

执行子模块5212,用于当所述判断子模块判断存在时,将原有的子资源本地缓存文件的响应头部,更新为携带有所述主文档的缓存策略的响应头部,当所述判断子模块判断不存在时,基于原有的子资源本地缓存文件的响应头部,生成所述子资源的缓存策略。

本实施例对页面处理装置500的各功能模块实现各自功能的过程,请参见上述图1至图4所示实施例中描述的内容,此处不再赘述。

本实施例中,各模块可以是由软件代码实现,此时,上述的各模块可存储于用户终端100的存储器110内。以上各模块同样可以由硬件例如集成电路芯片实现。

综上所述,本发明实施例提出的页面处理方法、装置、用户终端以及存储介质,通过利用主文档请求的页面缓存策略控制头部去更新主文档的子资源的请求头部,使得子资源的请求头部中携带有主文档的缓存策略,再根据子资源的请求头部去更新子资源本地缓存文件的响应头部,使得更新后的子资源本地缓存文件的响应头部也携带所述主文档的缓存策略,从而通过主文档的缓存策略生成子资源的缓存策略,并根据该子资源的缓存策略获取子资源,可以得到已更新的子资源,而不是缓存在本地中的未过期且未更新的子资源,实现了灵活控制缓存。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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