一种提高页面加载速度的方法及系统的制作方法
【技术领域】
[0001] 本发明实施例涉及互联网技术领域,尤其涉及一种提高页面加载速度的方法及系 统。
【背景技术】
[0002] 当前的网络环境中,用户访问的HTML(HyperText Mark-up Language,超文本标记 语言)页面可能在长时间内没有变化,因此可以使用页面静态化技术处理页面,提高网页 加载的速度。
[0003] 页面静态化技术是将应用服务器动态渲染后的页面缓存到Web (互联网)服务器 的硬盘上,当用户请求访问页面时,直接读取硬盘中缓存的页面,不需要再经过应用服务器 渲染。
[0004] 目前,基于页面静态化技术,用户访问页面的主要过程如图1所示:
[0005] 步骤S101,Q)N(Content Delivery Network,内容分发网络)集群接收用户发送 的访问页面请求;
[0006] 步骤S102, CDN集群判断是否缓存有与访问页面请求相对应的页面;若有,则执行 步骤S108 ;若无,则执行步骤S103 ;
[0007] 步骤S103,⑶N集群将访问页面请求转发到Web服务器;
[0008] 步骤S104, Web服务器接收访问页面请求,判断硬盘中是否缓存有与访问页面请 求相对应的页面;若有,则执行步骤S108 ;若无,则执行步骤S105 ;
[0009] 步骤S105, Web服务器将访问页面请求转发给应用服务器,应用服务器对与访问 页面请求相对应的页面进行多线程渲染,向Web服务器返回渲染后的页面;
[0010] 步骤S106,Web服务器将渲染后的页面缓存到硬盘,并将渲染后的页面发送至⑶N 集群;
[0011] 步骤S107,⑶N集群接收渲染后的页面,并缓存;
[0012] 步骤S108,⑶N集群返回渲染后的页面至浏览器,浏览器解析渲染后的页面。
[0013] 其中,目前应用服务器是通过线程池进行对整个页面进行渲染,但是访问页面请 求量超过线程池最大值时,没有分配到线程资源的渲染任务会阻塞,造成页面不能加载或 者加载时间超时,用户体验极差。
【发明内容】
[0014] 本发明实施例提供一种提高页面加载速度的方法及系统,以实现对页面框架和页 面模块进行异步渲染,降低了页面的加载时间。
[0015] 一方面,本发明实施例提供了一种提高页面加载速度的方法,包括:
[0016] 内容分发网络接收浏览器发送的页面框架请求,向服务器发起页面框架请求;
[0017] 所述服务器依据所述页面框架请求,渲染页面框架,将渲染后的页面框架通过所 述内容分发网络发送至所述浏览器;
[0018] 所述浏览器解析所述渲染后的页面框架,以获得页面模块标识,并通过所述内容 分发网络向所述服务器发起包含所述页面模块标识的页面模块请求;
[0019] 所述服务器依据所述页面模块请求,渲染页面模块,将渲染后的页面模块发送至 所述内容分发网络;
[0020] 所述内容分发网络依据所述页面模块标识,将渲染后的页面模块填充到所述渲染 后的页面框架中形成页面,将所述页面发送至所述浏览器。
[0021] 优选地,所述内容分发网络接收浏览器发送的页面框架请求,向服务器发起页面 框架请求具体包括:
[0022] 所述内容分发网络接收所述页面框架请求,判断是否缓存有所述渲染后的页面框 架,若无,则向所述服务器发送页面框架请求。
[0023] 优选地,所述服务器依据所述页面框架请求,渲染页面框架,将渲染后的页面框架 通过所述内容分发网络发送至所述浏览器,具体包括:
[0024] 互联网服务器接收所述内容分发网络发送的所述页面框架请求,判断是否缓存有 所述渲染后的页面框架,若无,则将所述页面框架请求发送至应用服务器;
[0025] 所述应用服务器,依据所述页面框架请求,渲染页面框架,并将所述渲染后的页面 框架发送至所述互联网服务器;
[0026] 所述互联网服务器接收所述渲染后的页面框架,在内存中缓存所述渲染后的页面 框架,并将所述渲染后的页面框架通过所述内容分发网络发送至所述浏览器。
[0027] 优选地,所述并将所述渲染后的页面框架通过所述内容分发网络发送至所述浏览 器包括:
[0028] 所述互联网服务器向所述内容分发网络发送所述渲染后的页面框架,所述内容分 发网络接收所述渲染后的页面框架,缓存所述渲染后的页面框架,并向所述浏览器发送所 述渲染后的页面框架。
[0029] 优选地,所述并通过所述内容分发网络向所述服务器发起包含所述页面模块标识 的页面模块请求,具体包括:
[0030] 所述浏览器向所述内容分发网络发送所述页面模块请求;
[0031] 所述内容分发网络接收所述页面模块请求,并判断是否缓存有渲染后的页面模 块,若无,则向将所述页面模块请求发送至所述服务器。
[0032] 优选地,所述服务器依据所述页面模块请求,渲染页面模块,将渲染后的页面模块 发送至所述内容分发网络,具体包括:
[0033] 互联网服务器接收所述页面模块请求,判断所述渲染后的页面框架请求是否需要 缓存,若不需要缓存,则向应用服务器发送所述页面模块请求;若需要缓存,则判断是否缓 存有所述渲染后的页面模块,若无,则将所述页面模块请求发送至所述应用服务器;
[0034] 所述应用服务器,依据所述页面模块请求,渲染页面模块,在内存中缓存所述渲染 后的页面模块,并将所述渲染后的页面模块发送至所述互联网服务器;
[0035] 所述互联网服务器接收所述渲染后的页面模块,在内存中缓存所述渲染后的页面 模块,并将所述渲染后的页面模块发送至所述内容分发网络。
[0036] 优选地,所述内容分发网络依据所述页面模块标识,将渲染后的页面模块填充到 所述渲染后的页面框架中形成页面,将所述页面发送至所述浏览器,具体包括:
[0037] 所述内容分发网络判断所述服务器渲染页面过程是否超时,若未超时,则将渲染 后的页面模块填充到所述渲染后的页面框架中形成页面,将所述页面发送至所述浏览器。
[0038] 另一方面,本发明实施例提供了一种提高页面加载速度的系统,包括:内容分发网 络、服务器和浏览器;
[0039] 所述内容分发网络,用于接收浏览器发送的页面框架请求,向服务器发起页面框 架请求;
[0040] 所述服务器,用于依据所述页面框架请求,渲染页面框架,将渲染后的页面框架通 过所述内容分发网络发送至所述浏览器;
[0041] 所述浏览器,用于解析所述渲染后的页面框架,以获得页面模块标识,并通过所述 内容分发网络向所述服务器发起包含所述页面模块标识的页面模块请求;则
[0042] 所述服务器,用于依据所述页面模块请求,渲染页面模块,将渲染后的页面模块发 送至所述内容分发网络;
[0043] 所述内容分发网络,用于依据所述页面模块标识,将渲染后的页面模块填充到所 述渲染后的页面框架中形成页面,将所述页面发送至所述浏览器。
[0044] 优选地,所述内容分发网络具体用于,接收所述页面框架请求,判断是否缓存有所 述渲染后的页面框架,若无,则向所述服务器发送页面框架请求;。
[0045] 优选地,所述服务器包括互联网服务器和应用服务器;
[0046] 互联网服务器,用于接收所述内容分发网络发送的所述页面框架请求,判断是否 缓存有所述渲染后的页面框架,若无,则将所述页面框架请求发送至应用服务器;
[0047] 所述应用服务器,用于依据所述页面框架请求,渲染页面框架,并将所述渲染后的 页面框架发送至所述互联网服务器;则
[0048] 所述互联网服务器,用于接收所述渲染后的页面框架,在内存中缓存所述渲染后 的页面框架,并将所述渲染后的页面框架通过所述内容分发网络发送至所述浏览器。
[0049] 优选地,所述内容分发网络具体用于,接收所述互联网服务器发送的所述渲染后 的页面框架,缓存所述渲染后的页面框架,并向所述浏览器发送所述渲染后的页面框架。
[0050] 优选地,所述浏览器,用于向所述内容分发网络发送所述页面模块请求;则
[0051] 所述内容分发网络,具体用于接收所述页面模块请求,并判断是否缓存有渲染后 的页面模块,若无,则向将所述页面模块请求发送至所述服务器。
[0052] 优选地,互联网服务器,用于接收所述页面模块请求,判断所述渲染后的页面框架 请求是否需要缓存,若不需要缓存,则向应用服务器发送所述页面模块请求;若需要缓存, 则判断是否缓存有所述渲染后的页面模块,若无,则将所述页面模块请求发送至所述应用 服务器;
[0053] 所述应用服务器,用于依据所述页面模块请求,渲染页面模块,在内存中缓存所述 渲染后的页面模块,并将所述渲染后的页面模块发送至所述互联网服务器;则
[0054] 所述互联网服务器,用于接收所述渲染后的页面模块,在内存中缓存所述渲染后 的页面模块,并将所述渲染后的页面模块发送至所述内容分发网络。
[0055] 优选地,所述内容分发网络,具体用于判断所述服务器渲染页面过程是否超时,若 未超时,则将渲染后的页面模块填充到所述渲染后的页面框架中形成页面,将所述页面发 送至所述浏览器。
[0056] 本发明实施例提供了一种提高页面加载速度的方法及系统,通过本发明实施例提 供的一种提高页面加载速度的方法,通过对页面框架和页面模块进行异步化渲染,分散页 面渲染请求,加快模块渲染的速度,提高页面加载速度。
【附图说明】
[0057] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其 他的附图。
[0058] 图1为现有技术中用户访问页面的流程示意图;
[0059] 图2为本发明实施例提供的一种提高页面加载速度的方法的流程示意图;
[0060] 图3为本发明实施例提供的一种提高页面加载速度的方法的流程示意图;
[0061]