
本申请涉及通信
技术领域:
,特别是涉及一种页面的加载方法、一种页面的加载装置和一种页面的加载系统。
背景技术:
:网络科技的迅猛发展将人们带入了信息社会,尤其是随着移动通信技术的广泛普及,给人们的生活都产生了深刻的影响。通常,加载页面的流程是:1.客户端访问某个页面,向服务端发起一个页面的请求。2.服务端向客户端返回页面的HTML(HypertextMarkupLanguage,超文本标记语言)文档;3.客户端解析HTML文档中的各种资源;4.客户端并发(通常是3个)向服务器请求页面需要资源,如JS(JavaScript,脚本语言)数据、CSS(CascadingStyleSheets,层叠样式表单)数据、图片等;5.客户端执行或者渲染获得的资源。在网络传输过程中,尤其是无线网络环境比宽带和Wi-Fi(无线保真)的网络环境要差很多,有很多不确定性,客户端从发出一个请求到收到服务端响应的过程中,由于网络不稳定丢包或者域名解析以及和服务器握手等其他环节占据了很大一部分时间,导致页面的加载时间很长。虽然,通过combo技术,可以将请求合并,例如,首页只引用了home.js,而home.js的运行需要依赖a.js和b.js,客户端会先发请求,以请求home.js,seajs则会在home.js运行时将a.js和b.js合并成一个请求,以异步请求的方式将这两个文件的和内容合集得到并运行。一般情况下至少有两个JS数据的请求、两个CSS数据的请求和各种图片的请求。理想情况下,至少也有一个JS数据的请求、一个CSS数据的请求、各种图片的请求,由于combo技术需要是模块依赖分析,请求数量较多, 页面的加载时间较长。技术实现要素:鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种页面的加载方法和相应的一种页面的加载装置、一种页面的加载系统。为了解决上述问题,本申请实施例公开了一种页面的加载方法,包括:接收客户端发送的页面的加载请求,在所述客户端中缓存有所述页面的一个或多个第一页面资源;根据所述加载请求获取页面框架数据,以及,所述页面框架数据中的一个或多个第二页面资源;判断所述一个或多个第二页面资源与所述一个或多个第一页面资源是否相同;若是,则在所述页面框架数据中写入缓存资源标签;若否,则将所述第二页面资源嵌入所述页面框架数据中;以及将所述页面框架数据返回所述客户端,所述客户端用于对所述页面框架数据进行渲染。优选地,所述加载请求中包括一个或多个第一页面资源的缓存信息,各个缓存信息中包括第一文件标识和第一内容标识;所述判断所述一个或多个第二页面资源与所述一个或多个第一页面资源是否相同的步骤包括:计算所述第二页面资源的第二文件标识和第二内容标识;当查找到与所述第二文件标识相同的第一文件标识时,判断所述第二文件标识对应的第二内容标识与所述第一文件标识对应的第一内容标识是否相同;若是,则确认所述第二页面资源与所述第一页面资源相同;以及若否,则确认所述第二页面资源与所述第一页面资源不相同。优选地,所述判断所述一个或多个第二页面资源与所述一个或多个第一页面资源是否相同的步骤还包括:当未查找到与所述第二文件标识相同的第一文件标识时,确认所述第二 页面资源与所述第一页面资源不相同。优选地,所述客户端通过以下方式对页面框架数据进行渲染:根据所述页面框架数据中的缓存资源标签,提取在本地缓存的第一页面资源进行渲染;以及提取所述页面框架数据中的第二页面资源进行渲染。优选地,所述客户端还用于:将所述页面框架数据中的第二页面资源写入缓存;以及在写入缓存成功时,将所述第二页面资源的第二文件标识和第二内容标识存储在客户端本地。优选地,所述一个或多个第一页面资源的缓存信息存储在所述加载请求中的cookie数据中;所述第二页面资源的第二文件标识和第二内容标识存储在客户端本地的cookie数据中。优选地,所述根据所述加载请求获取页面框架数据,以及,所述页面框架数据中的一个或多个第二页面资源的步骤包括:根据所述加载请求查找页面框架数据;从所述页面框架数据中查找需要加载的一个或多个第二页面资源的信息;向资源服务器针对所述一个或多个第二页面资源发送资源获取请求;以及接收所述资源服务器针对所述资源获取请求返回的一个或多个第二页面资源。本申请实施例还公开了一种页面的加载装置,包括:加载请求接收模块,用于接收客户端发送的页面的加载请求,在所述客户端中缓存有所述页面的一个或多个第一页面资源;资源获取模块,用于根据所述加载请求获取页面框架数据,以及,所述页面框架数据中的一个或多个第二页面资源;资源比较模块,用于判断所述一个或多个第二页面资源与所述一个或多个第一页面资源是否相同;若是,则调用标签写入模块,若否,则调用资源嵌入模块;标签写入模块,用于在所述页面框架数据中写入缓存资源标签;资源嵌入模块,用于将所述第二页面资源嵌入所述页面框架数据中;以及页面框架数据返回模块,用于将所述页面框架数据返回所述客户端,所述客户端用于对所述页面框架数据进行渲染。优选地,所述加载请求中包括一个或多个第一页面资源的缓存信息,各个缓存信息中包括第一文件标识和第一内容标识;所述资源比较模块包括:计算子模块,用于计算所述第二页面资源的第二文件标识和第二内容标识;内容标识比较子模块,用于在查找到与所述第二文件标识相同的第一文件标识时,判断所述第二文件标识对应的第二内容标识与所述第一文件标识对应的第一内容标识是否相同;若是,则调用第一确认子模块,若否,则调用第二确认子模块;第一确认子模块,用于确认所述第二页面资源与所述第一页面资源相同;以及第二确认子模块,用于确认所述第二页面资源与所述第一页面资源不相同。优选地,所述资源比较模块还包括:第三确认子模块,用于在未查找到与所述第二文件标识相同的第一文件标识时,确认所述第二页面资源与所述第一页面资源不相同。优选地,所述客户端通过以下方式对页面框架数据进行渲染:根据所述页面框架数据中的缓存资源标签,提取在本地缓存的第一页面资源进行渲染;以及提取所述页面框架数据中的第二页面资源进行渲染。优选地,所述客户端还用于:将所述页面框架数据中的第二页面资源写入缓存;以及在写入缓存成功时,将所述第二页面资源的第二文件标识和第二内容标识存储在客户端本地。优选地,所述一个或多个第一页面资源的缓存信息存储在所述加载请求中的cookie数据中;所述第二页面资源的第二文件标识和第二内容标识存储在客户端本地的cookie数据中。优选地,所述资源获取模块包括:第一查找子模块,用于根据所述加载请求查找页面框架数据;第二查找子模块,用于从所述页面框架数据中查找需要加载的一个或多个第二页面资源的信息;资源请求发送子模块,用于向资源服务器针对所述一个或多个第二页面资源发送资源获取请求;以及资源请求接收子模块,用于接收所述资源服务器针对所述资源获取请求返回的一个或多个第二页面资源。本申请实施例还公开了一种页面的加载系统,所述系统包括服务器与客户端;其中,所述服务器包括:加载请求接收模块,用于接收客户端发送的页面的加载请求,在所述客户端中缓存有所述页面的一个或多个第一页面资源;资源获取模块,用于根据所述加载请求获取页面框架数据,以及,所述页面框架数据中的一个或多个第二页面资源;资源比较模块,用于判断所述一个或多个第二页面资源与所述一个或多个第一页面资源是否相同;若是,则调用标签写入模块,若否,则调用资源嵌入模块;标签写入模块,用于在所述页面框架数据中写入缓存资源标签;资源嵌入模块,用于将所述第二页面资源嵌入所述页面框架数据中;以及页面框架数据返回模块,用于将所述页面框架数据返回所述客户端;所述客户端包括:渲染模块,用于对所述页面框架数据进行渲染。本申请实施例包括以下优点:本申请实施例对比客户端中缓存的第一页面资源与当前获取的第二页面资源,在不同时将第二页面资源嵌入页面框架数据中,以让客户端基于加载请求获取相应的页面资源,减少了客户端的后续发送的请求页面资源的请求数量,在相同时写入缓存资源标签,以让客户端直接调用缓存的第一页面资源,减少了页面框架数据的数据量,节约了带宽,从而大大加快了页面的加载速度。附图说明图1是本申请的一种页面的加载方法实施例的步骤流程图;图2是本申请的一种页面的加载装置实施例的结构框图;图3是本申请的一种页面的加载系统实施例的结构框图。具体实施方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。参照图1,示出了本申请的一种页面的加载方法实施例的步骤流程图,该方法100具体可以包括如下步骤:步骤101,接收客户端发送的页面的加载请求;需要说明的是,本申请实施例可以应用于服务器中,可以包括独立的服务器,也可以是服务器集群,如分布式系统等,本申请实施例对此不加以限制。该服务器可以与一个或多个客户端相连,如浏览器、内嵌微型浏览器的应用等等,该客户端可以部署在移动设备中,如手机、平板电脑、智能手表等等,当然,该客户端也可以部署在固定设备中,如个人电脑等,本申请实施例对此不加以限制。在具体实现中,客户端可以发出请求,以请求服务器进行相应的处理。其中,该请求可以包括页面的加载请求,具体指客户端发出的加载某个页面的指示,由用户或者其他应用所触发。例如,用户可以通过点击某链接来打开一个页面,从而触发页面的加载请求,或者,在地址栏输入网址来打开一个页面,从而触发页面的加载请求等等。在本申请实施例中,在客户端中可以缓存有该页面的一个或多个第一页面资源,该一个或多个第一页面资源可以为在先加载该页面时缓存在客户端本地的页面资源。此外,在客户端中还可以存储有该一个或多个第一页面资源的缓存信息,各个缓存信息中可以包括第一文件标识和第一内容标识。其中,文件标识(如第一文件标识、第二文件标识)是指能够代表一个确定的页面资源(如第一页面资源、第二页面资源)的文件信息,可以是文件的相对路径或者通过某种算法(如CRC32算法等)计算出来的一个服务器可以识别的唯一资源的标识,例如,对js/a.js通过CRC32算法计算出的编码值“2614776648”用来表示该文件的第一文件标识;内容标识(如第一内容标识、第二内容标识)是指能够代表一个确定的页面资源(如第一页面资源、第二页面资源)的内容信息,可以是通过某种算法(如CRC32算法、MD5算法等)计算获得的一个标识,例如,对文件的内容alert(‘helloworld”)通过CRC32算法计算出的编码值“2595379195”可以用来表示该文件的第一内容标识。在本申请实施例中,该第一页面资源的缓存信息可以存储在该页面的Cookie数据中,直接随加载请求发送至服务器。当然,该第一页面资源的缓存信息也可以存储在其他可持久存储的位置 中,如localstorage等,通过其他方式随载请求发送至服务器,本申请实施例对此不加以限制。在实际应用中,页面的加载请求还可以包括请求加载的页面的标识和/或页面的特征。网页标识可以是能够代表一个唯一确定的网页的信息,可以包括统一文件标识符(UniformResourceIdentifier,URI),统一文件标识符又具体可以包括统一资源定位符(UniformResourceLocator,URL),或者统一资源名称(UniformResourceName,URN)等等。客户端可以通过DNS(DomainNameSystem,域名解析系统)解析查找该页面URL中的域名(DomainName)所映射的IP(InternetProtocol,网络之间互连的协议)地址。在获取IP地址成功之后,客户端可以向该IP地址所在的服务器请求连接。在成功连接该IP地址所在的服务器之后,客户端可以将请求头信息通过HTTP(Hypertexttransferprotocol,超文本传送协议)协议向此IP地址所在的服务器发起页面的加载请求。该服务器接收到该请求之后等待处理,最后向客户端返回响应。步骤102,根据所述加载请求获取页面框架数据,以及,所述页面框架数据中的一个或多个第二页面资源;页面框架数据可以是页面的基本框架,即可以为HTML文档,包括页面上一些固定格式的数据,例如,页面所属平台的LOGO(徽标或者商标)、展示图片的窗口等等。第二页面资源可以为该页面中最新的页面资源,由服务器所维护。页面资源具体可以为静态资源,即页面当中可被客户端解析用作渲染或者执行的文件,例如,JS数据、CSS数据、图片等。在本申请的一种优选实施例中,步骤102可以包括如下子步骤:子步骤S11,根据所述加载请求查找页面框架数据;子步骤S12,从所述页面框架数据中查找需要加载的一个或多个第二页面资源的信息;子步骤S13,向资源服务器针对所述一个或多个第二页面资源发送资源获取请求;以及子步骤S14,接收所述资源服务器针对所述资源获取请求返回的一个或多个第二页面资源。在服务器集群中,可以由应用服务器接收客户端的加载请求,并维护页面框架数据,由资源服务器统一维护页面最新的资源(即第二页面资源)。应用服务器在接收到加载请求时,在本地查找相应的页面框架数据,解析页面框架数据中需要的资源文件。需要说明的是,网页框架数据可以按照固定的模板语言进行编译,如Velocity、JSP(JavaServerPages)、FreeMaker等等,而模板语言可以有多种,对于不同模板语言,其解析的规则是不尽相同的。例如,某个页面框架数据为:<html><head>#import("http://static.abc.com/js/a.js")#import("http://static.abc.com/js/b.js")#import("http://static.abc.com/css/c.css")</head></html>其中,#import是一个宏,应用服务器解析这个页面框架数据时,可以通过#import宏知道这个页面需要用到的页面资源的信息,如地址。应用服务器可以根据解析的结果向资源服务器请求相关的页面资源,如直接加载地址http://static.alibaba.com/js/a.js请求页面资源a.js。在一个示例中,可以通过远程过程调用协议(RemoteProcedureCallProtocol,RPC)是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP(TransmissionControlProtocol,传输控制协议)或UDP(UserDatagramProtocol,用户数据包协议),为通信程序之间携带信息数据。在OSI(Open SystemInterconnect,开放系统互联)网络通信模型中,RPC跨越了传输层和应用层,使得开发包括网络分布式多程序在内的应用程序更加容易。当然,上述获取方式只是作为示例,在实施本申请实施例时,可以根据实际情况设置其他获取方式,例如,在同一服务器中同时维护页面框架数据与页面资源,直接在本地查找相应的页面框架数据与页面资源,等等,本申请实施例对此不加以限制。步骤103,判断所述一个或多个第二页面资源与所述一个或多个第一页面资源是否相同;若是,则执行步骤104,若否,则执行步骤105;在具体实现中,服务器可以判断服务器中最新的页面资源(即第二页面资源)与客户端在先缓存的页面资源(即第一页面资源)是否相同。在本申请的一种优选实施例中,所述加载请求中可以包括一个或多个第一页面资源的缓存信息,各个缓存信息中可以包括第一文件标识和第一内容标识;则在本申请实施例中,步骤103可以包括如下子步骤:子步骤S21,计算所述第二页面资源的第二文件标识和第二内容标识;子步骤S22,当查找到与所述第二文件标识相同的第一文件标识时,判断所述第二文件标识对应的第二内容标识与所述第一文件标识对应的第一内容标识是否相同;若是,则执行子步骤S23,若否,则执行子步骤S24;子步骤S23,确认所述第二页面资源与所述第一页面资源相同;以及子步骤S24,确认所述第二页面资源与所述第一页面资源不相同。子步骤S25,当未查找到与所述第二文件标识相同的第一文件标识时,确认所述第二页面资源与所述第一页面资源不相同。在本申请实施例中,服务器可以通过预先设定的计算方式计算出第二文件标识、第二内容标识,采用第二文件标识遍历第一页面资源的缓存信息。若未查找到相同的第一文件标识,可以表示客户端本地未缓存有相同的资源文件,确认第二页面资源与第一页面资源(空的资源文件)不同。若查找到相同的第一文件标识,则可以进一步判断第二内容标识与第一内容标识是否相同;若相同,则可以表示第二页面资源与第一页面资源的内容相同,即页面资源未发生变化,确认第二页面资源与第一页面资源相同; 若不相同,则可以表示第二页面资源与第一页面资源的内容不相同,即页面资源已发生变化,确认第二页面资源与第一页面资源不同。步骤104,在所述页面框架数据中写入缓存资源标签;若服务器中最新的页面资源(即第二页面资源)与客户端在先缓存的页面资源(即第一页面资源)相同,为了减少数据量,服务器可以不直接返回页面资源。相应地,服务器可以在页面框架数据中该页面资源的位置写入缓存资源标签,表示该位置的页面资源缓存在客户端本地。步骤105,将所述第二页面资源嵌入所述页面框架数据中;以及若服务器中最新的页面资源(即第二页面资源)与客户端在先缓存的页面资源(即第一页面资源)不同,为了保证页面的准确,服务器可以直接将页面资源嵌入页面框架数据的相应位置中,并返回客户端。例如,某个页面框架数据为:<html><head>#import("http://static.abc.com/js/a.js")#import("http://static.abc.com/js/b.js")#import("http://static.abc.com/css/c.css")</head></html>分别获取到的第二页面资源a.js为alert("helloa.js"),b.js为alert("hellob.js"),c.css为body{background-color:black;};则服务器可以会将这三个页面资源中的内容替换到页面框架数据的宏调用处,这个嵌入过程类似于一个找到位置并替换的过程,最后得到的页面框架数据如下:在页面框架数据中,每个第二页面资源的标签中可以写入一个属性(如finger)来表示这个页面资源的信息,该信息分为两部分,前半部分(如上述示例以@为区分)是第二文件标识,后半部分(即上述示例[]中的信息)是第二内容标识。步骤106,将所述页面框架数据返回所述客户端。在本申请实施例中,服务器可以将写入缓存资源标签和/或嵌入第二页面资源的页面框架数据返回客户端。在具体实现中,客户端可以用于执行如下步骤:步骤107,对所述页面框架数据进行渲染。客户端可以解析页面框架数据,即解析HTML文档,生成树状结构的对象,即DOM(DocumentObjectModel,文件对象模型),每个对象是DOM上的一个结点,而这些对象可以代表文字、图片等页面资源,客户端通过获取相应的页面资源进行渲染并显示。在本申请的一种优选实施例中,步骤107可以包括如下子步骤:子步骤S31,根据所述页面框架数据中的缓存资源标签,提取在本地缓存的第一页面资源进行渲染;以及子步骤S32,提取所述页面框架数据中的第二页面资源进行渲染。在实际应用中,该缓存资源标签可以为JS语句,客户端在解析到该JS语句时,执行该JS语句,从本地的缓存中提取相应的第一页面资源进行渲染,在解析到第二页面资源时,可以直接进行渲染。本申请实施例对比客户端中缓存的第一页面资源与当前获取的第二页面资源,在不同时将第二页面资源嵌入页面框架数据中,以让客户端基于加载请求获取相应的页面资源,减少了客户端的后续发送的请求页面资源的请求数量,在相同时写入缓存资源标签,以让客户端直接调用缓存的第一页面资源,减少了页面框架数据的数据量,节约了带宽,从而大大加快了页面的加载速度,尤其适用于应用移动网络的设备。在本申请的一种优选实施例中,所述客户端还用于执行如下步骤:步骤108,将所述页面框架数据中的第二页面资源写入缓存;步骤109,在写入缓存成功时,将所述第二页面资源的第二文件标识和第二内容标识存储在客户端本地。在本申请实施例中,可以在页面中植入一段JS脚本,用于管理本地的页面资源的缓存及其状态,主要包括新增缓存、删除缓存、更新缓存、存储缓存的页面资源的缓存信息(文件标识、内容标识)等等。客户端可以遍历页面框架数据中标识第二页面资源的属性(如finger),将该属性对应的第二页面资源存储在客户端本地。若客户端未存储相应的第一页面资源,则存储第二页面资源的操作为新增缓存;若客户端存储有相应的第一页面资源,则存储第二页面资源的操作为更新缓存(删除第一页面资源、写入第二页面资源)。由于客户端本地的存储空间有限,因此,在确保将第二页面资源写入缓存后,再存储将第二页面资源的第二文件标识和第二内容标识,作为该第二页面资源的缓存信息,以用于下次该页面的请求。若该一个或多个第一页面资源的缓存信息存储在加载请求中的cookie数据中,则第二页面资源的第二文件标识和第二内容标识可以存储在客户端本地的cookie数据中。进一步而言,可以将第二页面资源的缓存信息为key、内容本身为value存入指定位置(如localstorage)中,将本地所有已写入指定位置的页面资源的缓存信息写入cookie数据中,如表1、表2所示。表1、Localstorage中的存储结构keyvalue/js/a.js@[abc]//a.js\nalert("helloa.js");/js/b.js@[bce]//b.js\nalert("hellob.js");/css/c.js@[cde]/*c.css*/\nbody{\nbackground-color:black;\n}表2、Cookie数据中的存储结构fingers/js/a.js@[abc]~/js/b.js@[bce]~/css/c.js@[cde]需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。参照图2,示出了本申请的一种页面的加载装置实施例的结构框图,该装置200具体可以包括如下模块:加载请求接收模块201,用于接收客户端发送的页面的加载请求,在所述客户端中缓存有所述页面的一个或多个第一页面资源;资源获取模块202,用于根据所述加载请求获取页面框架数据,以及,所述页面框架数据中的一个或多个第二页面资源;资源比较模块203,用于判断所述一个或多个第二页面资源与所述一个或多个第一页面资源是否相同;若是,则调用标签写入模块204,若否,则调用资源嵌入模块205;标签写入模块204,用于在所述页面框架数据中写入缓存资源标签;资源嵌入模块205,用于将所述第二页面资源嵌入所述页面框架数据中;以及页面框架数据返回模块206,用于将所述页面框架数据返回所述客户端,所述客户端用于对所述页面框架数据进行渲染。在本申请的一种优选实施例中,所述加载请求中可以包括一个或多个第一页面资源的缓存信息,各个缓存信息中可以包括第一文件标识和第一内容标识;所述资源比较模块203可以包括如下子模块:计算子模块,用于计算所述第二页面资源的第二文件标识和第二内容标识;内容标识比较子模块,用于在查找到与所述第二文件标识相同的第一文件标识时,判断所述第二文件标识对应的第二内容标识与所述第一文件标识对应的第一内容标识是否相同;若是,则调用第一确认子模块,若否,则调用第二确认子模块;第一确认子模块,用于确认所述第二页面资源与所述第一页面资源相同;以及第二确认子模块,用于确认所述第二页面资源与所述第一页面资源不相同。在本申请的一种优选实施例中,所述资源比较模块203还可以包括如下子模块:第三确认子模块,用于在未查找到与所述第二文件标识相同的第一文件标识时,确认所述第二页面资源与所述第一页面资源不相同。在本申请的一种优选实施例中,所述客户端可以通过以下方式对页面框架数据进行渲染:根据所述页面框架数据中的缓存资源标签,提取在本地缓存的第一页面资源进行渲染;以及提取所述页面框架数据中的第二页面资源进行渲染。在本申请的一种优选实施例中,所述客户端还可以用于:将所述页面框架数据中的第二页面资源写入缓存;以及在写入缓存成功时,将所述第二页面资源的第二文件标识和第二内容标识存储在客户端本地。在具体实现中,所述一个或多个第一页面资源的缓存信息可以存储在所述加载请求中的cookie数据中;所述第二页面资源的第二文件标识和第二内容标识可以存储在客户端本地的cookie数据中。在本申请的一种优选实施例中,所述资源获取模块202可以包括如下子模块:第一查找子模块,用于根据所述加载请求查找页面框架数据;第二查找子模块,用于从所述页面框架数据中查找需要加载的一个或多个第二页面资源的信息;资源请求发送子模块,用于向资源服务器针对所述一个或多个第二页面资源发送资源获取请求;以及资源请求接收子模块,用于接收所述资源服务器针对所述资源获取请求返回的一个或多个第二页面资源。参照图3,示出了本申请的一种页面的加载系统实施例的结构框图,该系统300可以包括服务器310与客户端320;其中,所述服务器310具体可以包括如下模块:加载请求接收模块311,用于接收客户端发送的页面的加载请求,在所述客户端中缓存有所述页面的一个或多个第一页面资源;资源获取模块312,用于根据所述加载请求获取页面框架数据,以及,所述页面框架数据中的一个或多个第二页面资源;资源比较模块313,用于判断所述一个或多个第二页面资源与所述一个或多个第一页面资源是否相同;若是,则调用标签写入模块314,若否,则调用资源嵌入模块315;标签写入模块314,用于在所述页面框架数据中写入缓存资源标签;资源嵌入模块315,用于将所述第二页面资源嵌入所述页面框架数据中;以及页面框架数据返回模块316,用于将所述页面框架数据返回所述客户端;所述客户端320可以包括如下模块:渲染模块321,用于对所述页面框架数据进行渲染。在本申请的一种优选实施例中,所述加载请求中可以包括一个或多个第一页面资源的缓存信息,各个缓存信息中可以包括第一文件标识和第一内容标识;所述资源比较模块313可以包括如下子模块:计算子模块,用于计算所述第二页面资源的第二文件标识和第二内容标识;内容标识比较子模块,用于在查找到与所述第二文件标识相同的第一文件标识时,判断所述第二文件标识对应的第二内容标识与所述第一文件标识对应的第一内容标识是否相同;若是,则调用第一确认子模块,若否,则调用第二确认子模块;第一确认子模块,用于确认所述第二页面资源与所述第一页面资源相同;以及第二确认子模块,用于确认所述第二页面资源与所述第一页面资源不相同。在本申请的一种优选实施例中,所述资源比较模块313还可以包括如下子模块:第三确认子模块,用于在未查找到与所述第二文件标识相同的第一文件标识时,确认所述第二页面资源与所述第一页面资源不相同。在本申请的一种优选实施例中,所述渲染模块321可以包括如下子模块:第一提取子模块,用于根据所述页面框架数据中的缓存资源标签,提取在本地缓存的第一页面资源进行渲染;以及第二提取子模块,用于提取所述页面框架数据中的第二页面资源进行渲 染。在本申请的一种优选实施例中,所述客户端320还可以包括如下模块:缓存写模块,用于将所述页面框架数据中的第二页面资源写入缓存;以及信息存储模块,用于在写入缓存成功时,将所述第二页面资源的第二文件标识和第二内容标识存储在客户端本地。在具体实现中,所述一个或多个第一页面资源的缓存信息可以存储在所述加载请求中的cookie数据中;所述第二页面资源的第二文件标识和第二内容标识可以存储在客户端本地的cookie数据中。在本申请的一种优选实施例中,所述资源获取模块312可以包括如下子模块:第一查找子模块,用于根据所述加载请求查找页面框架数据;第二查找子模块,用于从所述页面框架数据中查找需要加载的一个或多个第二页面资源的信息;资源请求发送子模块,用于向资源服务器针对所述一个或多个第二页面资源发送资源获取请求;以及资源请求接收子模块,用于接收所述资源服务器针对所述资源获取请求返回的一个或多个第二页面资源。对于装置、系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全 软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitorymedia),如调制的数据信号和载波。本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理 终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。以上对本申请所提供的一种页面的加载方法、一种页面的加载装置和一种页面的加载系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。当前第1页1 2 3