首页> 中国专利> 处理风格样式表的方法、服务器、客户端和系统

处理风格样式表的方法、服务器、客户端和系统

摘要

本发明公开了处理风格样式表的方法、服务器、客户端和系统,方法包括:服务器将客户端的网页访问请求转发给网页所属的网站,接收网站返回的响应信息,判断服务器中是否已缓存网页的CSS子资源,如果未缓存,则将响应信息转发给客户端,将客户端发送的CSS子资源请求转发给网站,接收网站返回的CSS子资源转发给客户端,并优化CSS子资源后缓存;如果已缓存,则根据已缓存的内容对接收的响应信息进行修改,向客户端发送修改后的响应信息,接收到客户端发送的CSS子资源请求,在查找对应的优化后的CSS子资源返回给客户端。本发明能够解决客户端的网页加载速度缓慢的问题,取得了加快客户端的网页加载速度,减少网站的负担的有益效果。

著录项

  • 公开/公告号CN103258056A

    专利类型发明专利

  • 公开/公告日2013-08-21

    原文格式PDF

  • 申请/专利号CN201310215270.X

  • 发明设计人 孙涛;

    申请日2013-05-31

  • 分类号G06F17/30;H04L29/06;

  • 代理机构北京市隆安律师事务所;

  • 代理人权鲜枝

  • 地址 100088 北京市西城区新街口外大街28号D座112室(德胜园区)

  • 入库时间 2024-02-19 19:46:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-06-09

    未缴年费专利权终止 IPC(主分类):G06F17/30 专利号:ZL201310215270X 申请日:20130531 授权公告日:20160629

    专利权的终止

  • 2022-08-05

    专利权的转移 IPC(主分类):G06F17/30 专利号:ZL201310215270X 登记生效日:20220726 变更事项:专利权人 变更前权利人:北京奇虎科技有限公司 变更后权利人:北京奇虎科技有限公司 变更事项:地址 变更前权利人:100088 北京市西城区新街口外大街28号D座112室(德胜园区) 变更后权利人:100015 北京市朝阳区酒仙桥路6号院2号楼1至19层104号内8层801 变更事项:专利权人 变更前权利人:奇智软件(北京)有限公司 变更后权利人:

    专利申请权、专利权的转移

  • 2016-06-29

    授权

    授权

  • 2013-09-18

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20130531

    实质审查的生效

  • 2013-08-21

    公开

    公开

说明书

技术领域

本发明涉及计算机网络技术领域,具体涉及一种处理风格样式表的方法、 服务器、客户端和系统。

背景技术

现有技术中,与终端浏览器相关的架构为C/S(客户端/服务器, Client/Server)架构。在此种架构中,作为客户端的终端浏览器中带有渲染引 擎,当客户端请求访问页面,并且服务器返回页面资源时,客户端的渲染引 擎在本地进行页面渲染。在此架构中,服务器(也称为“云端”),通常为代 理加缓存的处理模块。客户端的请求通过服务器发送到网站,而从网站返回 的响应也通过服务器返回至客户端,客户端在收到服务器的返回的网页信息 之后,会通过浏览器渲染引擎进行渲染,从而呈现渲染后的页面。

CSS(风格样式表,也称为级联样式表,Cascading Style Sheet),是用 来进行网页风格设置所用的数据。通过CSS可以统一地设置网页中各标志的 显示属性。使用CSS能够更加有效地设置网页外观,具体地,可以精确指定 网页元素位置,扩充外观以及创建特殊效果。网页中所使用的风格样式表主 要包括三种:(1)外部样式,将网页链接到外部样式表;(2)内页样式,在网 页中创建嵌入的样式表。(3)行内样式,应用内嵌样式到各个网页元素。

对于外部样式的CSS,客户端需要从网站中获得该CSS子资源,在本地 渲染时应用该CSS子资源。由于CSS子资源传输所使用的传输层协议为TCP 协议。TCP连接建立需要耗费较多的时间,随着网页效果越来越复杂,网页 中所包含的外部CSS子资源的数量也越来越多。现有技术中,每获得一个外 部CSS子资源,都需要与网站建立TCP连接,由此产生网页加载速度缓慢, 加载时间过长的问题。此外,各个客户端在加载网站的网页时,都需要与该 网站建立TCP连接以下载CSS子资源,由此造成网站的系统任务负担和通 信传输负担显著增加,也进一步导致网页的加载速度缓慢。

发明内容

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分 地解决上述问题的处理风格样式表的方法、服务器、客户端和系统。

根据本发明的一个方面,提供了一种处理风格样式表的方法,所述方法 包括:

服务器将客户端的网页访问请求转发给请求访问的网页所属的网站,接 收所述网站返回的响应信息,判断所述服务器中是否已缓存所述网页的风格 样式表CSS子资源,

如果所述服务器中未缓存所述网页的CSS子资源,则服务器将接收的响 应信息转发给所述客户端,将所述客户端发送的CSS子资源请求转发给所述 网站,接收到所述网站返回的CSS子资源后,将所述CSS子资源转发给所 述客户端,将所述CSS子资源进行优化并缓存在所述服务器中;

如果所述服务器中已缓存所述网页的CSS子资源,则服务器根据所述服 务器中已缓存的内容对接收的响应信息进行修改,向所述客户端发送修改后 的响应信息,接收到所述客户端发送的CSS子资源请求后,在所述服务器中 查找对应的优化后的CSS子资源,将查找到的优化后的CSS子资源返回给 所述客户端。

其中,所述将所述CSS子资源进行优化包括:去除各个CSS子资源中 的冗余信息。

其中,所述将所述CSS子资源进行优化包括:根据CSS子资源的语义 和/或逻辑,将多个CSS子资源分组;在每个分组中,将分组中的CSS子资 源聚合为一个CSS子资源。

其中,所述将所述CSS子资源进行优化包括:为优化后的CSS子资源, 生成对应的URL;记录访问的网页的URL与优化后的CSS子资源的URL 的对应关系。

其中,所述服务器根据所述服务器中已缓存的内容对接收的响应信息进 行修改包括:在记录的对应关系中查找访问的网页的URL,将响应信息中包 含的CSS子资源的URL修改为对应的优化后的CSS子资源的URL。

其中,所述将查找到的优化后的CSS子资源返回给所述客户端包括:在 封装优化后的CSS子资源的报文的报文头中添加CSS节省字节字段,该CSS 节省字节字段中为优化后的CSS子资源与优化前的CSS子资源相比减少的 字节数。

根据本发明的一个方面,公开了一种在客户端加载访问网页的风格样式 表的方法,所述方法包括:

客户端向服务器发送网页访问请求,并接收服务器返回的响应信息,所 述响应信息为所述网页所属的网站返回的响应信息或所述服务器对其修改后 的响应信息;

客户端对响应信息进行解析,根据解析出的内容向服务器发送CSS子资 源请求,并接收服务器返回的CSS子资源,加载该CSS子资源。

根据本发明的另一个方面,公开了一种处理风格样式表的服务器,所述 服务器包括:代理模块、缓存模块和风格样式表CSS资源优化模块,

所述代理模块,适于将客户端的网页访问请求转发给请求访问的网页所 属网站,接收所述网站返回的响应信息,判断所述缓存模块中是否已缓存所 述网页的CSS子资源,将判断结果通知给所述CSS资源优化模块;

所述代理模块,还适于在判断结果为所述缓存模块中未缓存所述网页的 CSS子资源时,将接收的响应信息转发给所述客户端,接收所述客户端发送 的CSS子资源请求,将所述CSS子资源请求转发给所述网站,接收所述网 站返回的CSS子资源,并将所述CSS子资源转发给所述客户端;

所述CSS资源优化模块具体包括:CSS优化子模块和CSS修改子模块;

所述CSS优化子模块,适于在判断结果为所述缓存模块中未缓存所述网 页的CSS子资源时,将从网站接收的CSS子资源进行优化,并缓存到所述 缓存模块;

所述CSS修改子模块,适于在判断结果为所述缓存模块中已缓存所述网 页的CSS子资源时,根据所述缓存模块中已缓存的内容对接收的网站返回的 响应信息进行修改;

所述代理模块,还适于将所述修改后的响应信息发送给所述客户端,接 收到所述客户端发送的CSS子资源请求后,在所述缓存模块中查找对应的优 化后的CSS子资源,将查找到的优化后的CSS子资源返回给所述客户端。

所述缓存模块,适于缓存优化后的CSS子资源。

其中,所述CSS优化子模块,适于去除各个CSS子资源中的冗余信息。

其中,所述CSS优化子模块,适于根据CSS子资源的语义和/或逻辑, 将多个CSS子资源分组,在每个分组中,将分组中的CSS子资源聚合为一 个CSS子资源。

其中,所述CSS优化子模块,适于为优化后的CSS子资源,生成对应 的URL,记录访问的网页的URL与优化后的CSS子资源的URL的对应关 系,将优化后的CSS子资源缓存到所述缓存模块。

其中,所述CSS修改子模块,适于在记录的对应关系中查找访问的网页 的URL,将响应信息中包含的CSS子资源的URL修改为对应的优化后的CSS 子资源的URL。

其中,所述代理模块,适于在封装优化后的CSS子资源的报文的报文头 中添加CSS节省字节字段,该CSS节省字节字段中填写优化后的CSS子资 源与优化前的CSS子资源相比减少的字节数。

根据本发明的另一个方面,公开了一种加载访问网页的风格样式表的客 户端,所述客户端包括:

通信模块,适于向服务器发送网页访问请求,并接收服务器返回的响应 信息,所述响应信息为所述网页所属的网站返回的响应信息或所述服务器对 其修改后的响应信息;

解析模块,适于对响应信息进行解析;

所述通信模块,还适于根据解析出的内容向服务器发送CSS子资源请 求,并接收服务器返回的CSS子资源;

加载模块,适于加载接收到的服务器返回的CSS子资源。

根据本发明的另一个方面,公开了一种加载访问网页的风格样式表的系 统,所述系统包括:所述的服务器,以及所述的客户端。

根据本发明的技术方案,可以在服务器中缓存网页的CSS子资源,并对 该CSS子资源进行优化,当客户端再次加载包含该CSS子资源的网页时, 服务器修改网站返回的响应信息中内容,使得客户端无需与网站建立TCP连 接,而直接从服务器中获得缓存的优化后的CSS子资源。由此,能够减少在 加载网页时客户端与网站间建立的TCP连接的数量,从而解决了由于客户端 与网站建立的TCP连接过多而导致的网页加载速度缓慢,加载时间过长的问 题;取得了加快客户端的网页加载速度,以及减少网站的系统任务负担和通 信传输负担的有益效果。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技 术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它 目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本 领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的, 而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示 相同的部件。在附图中:

图1示出了根据本发明一个实施例的处理风格样式表的服务器的结构 图;

图2示出了根据本发明一个实施例的CSS资源优化模块的结构图;

图3示出了根据本发明一个实施例的加载访问网页的风格样式表的客户 端的结构图;

图4示出了根据本发明一个实施例的加载访问网页的风格样式表的系统 的结构图;

图5示出了根据本发明一个实施例的处理风格样式表的方法的流程图;

图6示出了根据本发明一个实施例的客户端首次通过服务器访问网站 时,服务器的操作流程图;

图7示出了根据本发明一个实施例的客户端再次通过服务器访问网站 时,服务器的操作流程图;以及

图8示出了根据本发明一个实施例的在客户端加载访问网页的风格样式 表的方法的流程图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示 了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不 应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地 理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

如图1所示,为根据本发明一个实施例的处理风格样式表的服务器的结 构图。服务器100包括:代理模块110、缓存模块120和CSS资源优化模块 130。

代理模块110,适于将客户端200的网页访问请求转发给请求访问的网 页所属网站,接收网站返回的响应信息,判断缓存模块120中是否已缓存该 网页的CSS子资源,将判断结果通知给CSS资源优化模块130。

代理模块110,还适于在判断结果为缓存模块120中未缓存该网页的CSS 子资源时,将接收的响应信息转发给客户端200,接收客户端200发送的CSS 子资源请求,将该CSS子资源请求转发给网站,接收网站返回的CSS子资 源,并将该CSS子资源转发给客户端200。

如图2所示,为根据本发明一个实施例的CSS资源优化模块的结构图。 CSS资源优化模块130具体包括:CSS优化子模块132和CSS修改子模块 134。

CSS优化子模块132,适于在代理模块110的判断结果为缓存模块120 中未缓存该网页的CSS子资源时,将从网站接收的该网页的CSS子资源进 行优化,并将优化后的CSS子资源缓存到缓存模块120。

在一具体实施例中,CSS优化子模块132进行的优化为去冗余。CSS优 化子模块132去除各个CSS子资源中的冗余信息。

举例而言,CSS优化子模块132去除掉CSS子资源中的空白和注释。

通过去除各个CSS子资源中的冗余信息,能够在客户端获取CSS子资 源时减少网络传输的流量,进一步提高网页访问速度,并节省客户端的网络 流量。

在另一具体实施例中,CSS优化子模块132进行的优化为聚合。CSS优 化子模块132根据CSS子资源的语义和/或逻辑,将多个CSS子资源分组, 在每个分组中,将分组中的CSS子资源聚合为一个CSS子资源。

举例而言,CSS优化子模块132分析各个CSS之间的相互关系。同一个 网站的不同的CSS子资源间可能存在逻辑关系,CSS优化子模块132根据 CSS子资源的语义和/或逻辑,将多个CSS子资源分组,使得分到同一组的 CSS子资源聚合后不会存在语义和逻辑冲突。CSS优化子模块132将各组内 的CSS聚合成一个CSS。例如,网页具有6个CSS子资源,编号1至6。 CSS优化子模块132根据CSS子资源的语义和/或逻辑将6个CSS子资源分 为三组,编号1-3的CSS子资源为一组,编号4和6的CSS子资源为一组, 编号5的CSS子资源为一组,在3个组内分别进行聚合,由此,CSS优化子 模块132将网站的6个CSS子资源聚合成3个CSS子资源。

通过将多个CSS子资源进行聚合,能够在CSS子资源中信息不被损伤 的情况下,减少客户端访问网页时TCP连接,从而进一步增加客户端访问网 页的速度。

此外,在进行CSS子资源聚合时,服务器100开销会增加。可以通过配 置列表的方式,对需要进行CSS子资源聚合的网站进行设置。例如,对于用 户访问量较大的网站(如网址导航中排名前25的网站)进行CSS子资源聚合。 而对一些访问量较小的网站,不再进行CSS子资源聚合。所以,CSS优化子 模块132还适于根据设置的聚合网站列表,对列表中的网站的CSS子资源进 行聚合。由此,可以达到灵活调整CSS子资源聚合的效果。

CSS修改子模块134,适于在判断结果为缓存模块120中已缓存该网页 的CSS子资源时,根据缓存模块120中已缓存的内容对接收的网站返回的响 应信息进行修改。

代理模块110,还适于将修改后的响应信息发送给客户端200,接收到客 户端200发送的CSS子资源请求后,在缓存模块120中查找对应的优化后的 CSS子资源,将查找到的优化后的CSS子资源返回给客户端200。

缓存模块120,适于缓存优化后的CSS子资源。

在一具体实施例中,CSS优化子模块132为优化后的CSS子资源,生成 对应的URL,记录访问的网页的URL与优化后的CSS子资源的URL的对 应关系,将优化后的CSS子资源缓存到缓存模块120。

CSS修改子模块134在记录的对应关系中查找访问的网页的URL,将响 应信息中包含的CSS子资源的URL修改为对应的优化后的CSS子资源的 URL。

代理模块110在接收到客户端200发送的CSS子资源请求后,根据CSS 子资源请求中的优化后的CSS子资源的URL在缓存模块120中查找对应的 优化后的CSS子资源,将查找到的优化后的CSS子资源返回给客户端200。

此外,在另一具体实施例中,代理模块110在封装优化后的CSS子资源 的报文的报文头中添加CSS节省字节字段,该CSS节省字节字段中填写优 化后的CSS子资源与优化前的CSS子资源相比减少的字节数。

CSS子资源优化能够节省流量,因此通过报文的报文头中添加CSS节省 字节字段,例如CSS-Save-Bytes字段,能够使用户知晓此次访问网页中客户 端200所节省的字节数。

通过本发明实施例中技术方案,能够减少在加载网页时客户端与网站间 建立的TCP连接的数量,从而解决了由于客户端与网站建立的TCP连接过 多而导致的网页加载速度缓慢,加载时间过长的问题;取得了加快客户端的 网页加载速度,以及减少网站的系统任务负担和通信传输负担的有益效果。

以下以客户端200访问URL为http://www.a.com的网页为例,对本发明 的处理风格样式表的服务器100进行举例说明。

其中,所述客户端200可以为手机终端中浏览器,也可以为PC(个人电 脑,Personal Computer)终端中浏览器,或者其他网页访问请求方,在此没 有特别限制。

当客户端200请求访问http://www.a.com时,客户端200向服务器100 发送网页访问请求。

服务器100的代理模块110接收客户端200发送的网页访问请求,将客 户端200的网页访问请求转发给请求访问的网页所属网站,接收网站返回的 响应信息,判断服务器100的缓存模块120中是否已缓存该网页的CSS子资 源。

当客户端200首次通过服务器100访问http://www.a.com时,代理模块 110接收网站返回的响应信息,判断出缓存模块120中没有缓存该网页的CSS 子资源。

此外,代理模块110接收网站返回的响应信息,并判断出缓存模块120 中未缓存该网页的CSS子资源后,将接收的响应信息转发给客户端200。

客户端200收到http://www.a.com的网页响应后,解析网页内容得到网 页中的外部CSS子资源,该些CSS子资源的URL分别为http://xxx.b.css, http://xxx.c.css和http://xxx.d.css。客户端200向服务器100发送包括上述 URL的CSS子资源请求。

代理模块110接收到客户端200发送的CSS子资源请求,将该CSS子 资源请求转发给网站,接收网站返回的CSS子资源,并将该CSS子资源转 发给客户端200。客户端200接收到服务器100转发的CSS子资源,使用该 CSS子资源进行网页渲染。

此外,CSS资源优化模块130的CSS优化子模块132在代理模块110的 判断结果为缓存模块120中未缓存该网页的CSS子资源后,将代理模块110 从网站接收的该网页的CSS子资源进行优化,并将优化后的CSS子资源缓 存到缓存模块120。并且,CSS优化子模块132为优化后的CSS子资源,生 成对应的URL,记录访问的网页的URL与优化后的CSS子资源的URL的 对应关系,将优化后的CSS子资源缓存到缓存模块120。

具体而言,CSS优化子模块132对网站返回的http://xxx.b.css, http://xxx.c.css和http://xxx.d.css对应的3个CSS子资源进行去冗余操作,然 后将去冗余后的3个CSS子资源进行聚合。CSS优化子模块132将 http://xxx.b.css和http://xxx.c.css分为一组,将http://xxx.d.css分为另一组, 将每组中CSS子资源聚合成一个CSS子资源,聚合后的CSS子资源对应的 URL分别为http://xxx.b+c.composite.css和http://xxx.d.composite.css。CSS优 化子模块132记录http://www.a.com与http://xxx.b+c.composite.css和 http://xxx.d.composite.css之间的对应关系,将聚合后的两个CSS子资源缓存 到缓存模块120。

当客户端200再次通过服务器100访问http://www.a.com时,客户端200 向服务器100发送网页访问请求。

服务器100的代理模块110将客户端200的网页访问请求转发给请求访 问的网页所属网站,接收网站返回的响应信息,判断出服务器100的缓存模 块120中已缓存该网页的CSS子资源。

CSS资源优化模块130的CSS修改子模块134根据记录访问的网页的 URL与优化后的CSS子资源的URL的对应关系对接收的网站返回的响应信 息进行修改。

具体而言,CSS修改子模块134在记录的对应关系中查找 http://www.a.com,将响应信息中包含的http://xxx.b.css和http://xxx.c.css修改 为http://xxx.b+c.composite.css,将响应信息中包含的http://xxx.d.css修改为 http://xxx.d.composite.css。

代理模块110将修改后的响应信息发送给客户端200。

客户端200接收到代理模块110发送的响应信息,解析出外部CSS子资 源对应的URL分别为http://xxx.b+c.composite.css和http://xxx.d.composite.cs, 向服务器100发送包括上述URL的CSS子资源请求。

代理模块110接收到客户端200发送的CSS子资源请求后,解析出优化 后的CSS子资源的URL,根据该URL在缓存模块120中查找到优化后的CSS 子资源,将该CSS子资源返回给客户端200。

具体而言,代理模块110解析出http://xxx.b+c.composite.css和 http://xxx.d.composite.css,在缓存模块120中查找http://xxx.b+c.composite.css 和http://xxx.d.composite.css对应的聚合的CSS子资源,将查找到的聚合的 CSS子资源返回给客户端200。

参见图3,示出了根据本发明一个实施例的加载访问网页的风格样式表 的客户端200的结构图。客户端200包括:通信模块210、解析模块220和 加载模块230。

通信模块210,适于向服务器100发送网页访问请求,并接收服务器100 返回的响应信息,所述响应信息为所述网页所属的网站返回的响应信息或所 述服务器对其修改后的响应信息。

解析模块220,适于对响应信息进行解析。

通信模块210,还适于根据解析出的内容向服务器100发送CSS子资源 请求,并接收服务器100返回的CSS子资源。

加载模块230,适于加载接收到的服务器100返回的CSS子资源。

参见图4,示出了根据本发明一个实施例的加载访问网页的风格样式表 的系统的结构图。系统包括前述服务器100和多个前述客户端200。其中, 服务器100和客户端200间可以直接连接,也可以通过网络连接,在此没有 特别限制。

参见图5,示出了根据本发明一个实施例的处理风格样式表的方法的流 程图。所述方法包括如下步骤。

步骤S510,服务器将客户端的网页访问请求转发给请求访问的网页所属 的网站,接收网站返回的响应信息。

步骤S520,服务器判断该服务器中是否已缓存该网页的风格样式表CSS 子资源,如果是,则执行步骤S540,否则,执行步骤S530。

步骤S530,服务器将接收的响应信息转发给所客户端,将客户端发送的 CSS子资源请求转发给网站,接收到网站返回的CSS子资源后,将该CSS 子资源转发给客户端,将CSS子资源进行优化并缓存在服务器中。

在一具体实施例中,所述优化为去冗余。所述将CSS子资源进行优化包 括:去除各个CSS子资源中的冗余信息。

举例而言,服务器去除掉CSS子资源中的空白和注释。

通过去除各个CSS子资源中的冗余信息,能够在客户端获取CSS子资 源时减少网络传输的流量,进一步提高网页访问速度,并节省客户端的网络 流量。

在另一具体实施例中,所述优化为聚合。所述将CSS子资源进行优化包 括:根据CSS子资源的语义和/或逻辑,将多个CSS子资源分组;在每个分 组中,将分组中的CSS子资源聚合为一个CSS子资源。

举例而言,服务器分析各个CSS之间的相互关系。同一个网站的不同的 CSS子资源间可能存在逻辑关系,根据CSS子资源的语义和/或逻辑,将多 个CSS子资源分组,使得分到同一组的CSS子资源聚合后不会存在语义和 逻辑冲突。服务器将各组内的CSS聚合成一个CSS。例如,网页具有6个 CSS子资源,编号1至6。服务器根据CSS子资源的语义和/或逻辑将6个 CSS子资源分为三组,编号1-3的CSS子资源为一组,编号4和6的CSS 子资源为一组,编号5的CSS子资源为一组,在3个组内分别进行聚合,由 此,服务器将网站的6个CSS子资源聚合成3个CSS子资源。

通过将多个CSS子资源进行聚合,能够在CSS子资源中信息不被损伤 的情况下,减少客户端访问网页时TCP连接,从而进一步增加客户端访问网 页的速度。

此外,在进行CSS子资源聚合时,服务器开销会增加。可以通过配置列 表的方式,对需要进行CSS子资源聚合的网站进行设置。例如,对于用户访 问量较大的网站(如网址导航中排名前25的网站)进行CSS子资源聚合。而 对一些访问量较小的网站,不再进行CSS子资源聚合。所以,服务器还可以 根据设置的聚合网站列表,对列表中的网站的CSS子资源进行聚合。由此, 可以达到灵活调整CSS子资源聚合的效果。

步骤S540,服务器根据该服务器中已缓存的内容对接收的响应信息进行 修改,向客户端发送修改后的响应信息,接收到客户端发送的CSS子资源请 求后,在该服务器中查找对应的优化后的CSS子资源,将查找到的优化后的 CSS子资源返回给客户端。

在一具体实施例中,服务器为优化后的CSS子资源,生成对应的URL, 记录访问的网页的URL与优化后的CSS子资源的URL的对应关系。

服务器在根据该服务器中已缓存的内容对接收的响应信息进行修改时, 在记录的对应关系中查找访问的网页的URL,将响应信息中包含的CSS子 资源的URL修改为对应的优化后的CSS子资源的URL。

服务器在接收到客户端发送的CSS子资源请求后,根据CSS子资源请 求中的优化后的CSS子资源的URL查找对应的优化后的CSS子资源,将查 找到的优化后的CSS子资源返回给客户端。

此外,在另一具体实施例中,服务器在封装优化后的CSS子资源的报文 的报文头中添加CSS节省字节字段,该CSS节省字节字段中填写优化后的 CSS子资源与优化前的CSS子资源相比减少的字节数。

CSS子资源优化能够节省流量,因此通过报文的报文头中添加CSS节省 字节字段,例如CSS-Save-Bytes字段,能够使用户知晓此次访问网页中客户 端所节省的字节数。

通过本发明实施例中技术方案,能够减少在加载网页时客户端与网站间 建立的TCP连接的数量,从而解决了由于客户端与网站建立的TCP连接过 多而导致的网页加载速度缓慢,加载时间过长的问题;取得了加快客户端的 网页加载速度,以及减少网站的系统任务负担和通信传输负担的有益效果。

以下以客户端访问URL为http://www.a.com的网页为例,对本发明的处 理风格样式表的服务器进行举例说明。

其中,所述客户端可以为手机终端中浏览器,也可以为PC(个人电脑, Personal Computer)终端中浏览器,或者其他网页访问请求方,在此没有特 别限制。

当客户端请求访问http://www.a.com时,客户端向服务器发送网页访问 请求。参见图6,示出了根据本发明一个实施例的客户端首次通过服务器访 问网站时,服务器的操作流程图。

步骤S610,服务器接收客户端发送的网页访问请求,将客户端的网页访 问请求转发给请求访问的网页所属网站。

步骤S620,服务器接收网站返回的响应信息,判断出该服务器中没有缓 存该网页的CSS子资源,将接收的响应信息转发给客户端。

客户端收到http://www.a.com的网页响应后,解析网页内容得到网页中 的外部CSS子资源,该些CSS子资源的URL分别为http://xxx.b.css, http://xxx.c.css和http://xxx.d.css。客户端向服务器发送包括上述URL的CSS 子资源请求。

步骤S630,服务器接收到客户端发送的CSS子资源请求,将该CSS子 资源请求转发给网站,接收网站返回的CSS子资源,执行步骤S640和步骤 S650。

步骤S640,服务器将接收的网站返回的CSS子资源转发给客户端。

客户端接收到服务器转发的CSS子资源,使用该CSS子资源进行网页 渲染。

步骤S650,服务器将网站返回的网页的CSS子资源进行优化,并缓存 优化后的CSS子资源,以及为优化后的CSS子资源,生成对应的URL,记 录访问的网页的URL与优化后的CSS子资源的URL的对应关系。

具体而言,服务器对网站返回的http://xxx.b.css,http://xxx.c.css和 http://xxx.d.css对应的3个CSS子资源进行去冗余操作,然后将去冗余后的3 个CSS子资源进行聚合。服务器将http://xxx.b.css和http://xxx.c.css分为一组, 将http://xxx.d.css分为另一组,将每组中CSS子资源聚合成一个CSS子资源, 聚合后的CSS子资源对应的URL分别为http://xxx.b+c.composite.css和 http://xxx.d.composite.css。服务器记录http://www.a.com与 http://xxx.b+c.composite.css和http://xxx.d.composite.css之间的对应关系。

当客户端再次通过服务器访问http://www.a.com时,客户端向服务器发 送网页访问请求。参见图7,示出了根据本发明一个实施例的客户端再次通 过服务器访问网站时,服务器的操作流程图。

步骤S710,服务器接收客户端发送的网页访问请求,将网页访问请求转 发给请求访问的网页所属网站,接收网站返回的响应信息,判断出该服务器 中已缓存该网页的CSS子资源。

步骤S720,服务器根据记录访问的网页的URL与优化后的CSS子资源 的URL的对应关系,对接收的网站返回的响应信息进行修改。

具体而言,服务器在记录的对应关系中查找http://www.a.com,将响应信 息中包含的http://xxx.b.css和http://xxx.c.css修改为 http://xxx.b+c.composite.css,将响应信息中包含的http://xxx.d.css修改为 http://xxx.d.composite.css。

步骤S730,服务器将修改后的响应信息发送给客户端。

客户端接收到服务器发送的响应信息,解析出外部CSS子资源对应的 URL分别为http://xxx.b+c.composite.css和http://xxx.d.composite.cs,向服务 器发送包括上述URL的CSS子资源请求。

步骤S740,服务器接收到客户端发送的CSS子资源请求后,解析出优 化后的CSS子资源的URL,根据该URL查找到优化后的CSS子资源,将该 CSS子资源返回给客户端。

具体而言,服务器接收到客户端发送的CSS子资源请求后,解析出 http://xxx.b+c.composite.css和http://xxx.d.composite.css,查找 http://xxx.b+c.composite.css和http://xxx.d.composite.css对应的聚合的CSS子 资源,将查找到的聚合的CSS子资源返回给客户端。

参见图8,示出了根据本发明一个实施例的在客户端加载访问网页的风 格样式表的方法的流程图。所述方法包括如下步骤。

步骤S810,客户端向服务器发送网页访问请求。

步骤S820,客户端接收服务器返回的响应信息,所述响应信息为所述网 页所属的网站返回的响应信息或所述服务器对其修改后的响应信息。

步骤S830,客户端对响应信息进行解析,根据解析出的内容向服务器发 送CSS子资源请求。

步骤S840,客户端接收服务器返回的CSS子资源,加载该CSS子资源。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固 有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述, 构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定 编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容, 并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本 发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未 详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个 或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时 被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开 的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求 中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映 的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循 具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利 要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自 适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以 把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可 以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者 单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴 随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或 者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴 随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相 似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其 它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组 合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权 利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使 用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理 器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当 理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据 本发明实施例的处理风格样式表的服务器、客户端和系统中的一些或者全部 部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法 的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产 品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具 有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或 者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且 本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施 例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求 的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元 件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借 助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列 举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬 件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可 将这些单词解释为名称。

本发明实施例公开了A1、一种处理风格样式表的方法,所述方法包括: 服务器将客户端的网页访问请求转发给请求访问的网页所属的网站,接收所 述网站返回的响应信息,判断所述服务器中是否已缓存所述网页的风格样式 表CSS子资源,如果所述服务器中未缓存所述网页的CSS子资源,则服务 器将接收的响应信息转发给所述客户端,将所述客户端发送的CSS子资源请 求转发给所述网站,接收到所述网站返回的CSS子资源后,将所述CSS子 资源转发给所述客户端,将所述CSS子资源进行优化并缓存在所述服务器 中;如果所述服务器中已缓存所述网页的CSS子资源,则服务器根据所述服 务器中已缓存的内容对接收的响应信息进行修改,向所述客户端发送修改后 的响应信息,接收到所述客户端发送的CSS子资源请求后,在所述服务器中 查找对应的优化后的CSS子资源,将查找到的优化后的CSS子资源返回给 所述客户端。A2、根据A1所述的方法,其中,将所述CSS子资源进行优化 包括:去除各个CSS子资源中的冗余信息。A3、根据A1或A2所述的方法, 其中,所述将所述CSS子资源进行优化包括:根据CSS子资源的语义和/或 逻辑,将多个CSS子资源分组;在每个分组中,将分组中的CSS子资源聚 合为一个CSS子资源。A4、根据A1所述的方法,其中,将所述CSS子资源 进行优化包括:为优化后的CSS子资源,生成对应的URL;记录访问的网 页的URL与优化后的CSS子资源的URL的对应关系。A5、根据A4所述的 方法,其中,所述服务器根据所述服务器中已缓存的内容对接收的响应信息 进行修改包括:在记录的对应关系中查找访问的网页的URL,将响应信息中 包含的CSS子资源的URL修改为对应的优化后的CSS子资源的URL。A6、 根据A1至A5任一项所述的方法,其中,所述将查找到的优化后的CSS子 资源返回给所述客户端包括:在封装优化后的CSS子资源的报文的报文头中 添加CSS节省字节字段,该CSS节省字节字段中为优化后的CSS子资源与 优化前的CSS子资源相比减少的字节数。

本发明实施例还公开了B7、一种在客户端加载访问网页的风格样式表的 方法,所述方法包括:客户端向服务器发送网页访问请求,并接收服务器返 回的响应信息,所述响应信息为所述网页所属的网站返回的响应信息或所述 服务器对其修改后的响应信息;客户端对响应信息进行解析,根据解析出的 内容向服务器发送CSS子资源请求,并接收服务器返回的CSS子资源,加 载该CSS子资源。

本发明实施例还公开了C8、一种处理风格样式表的服务器,所述服务器 包括:代理模块、缓存模块和风格样式表CSS资源优化模块,所述代理模块, 适于将客户端的网页访问请求转发给请求访问的网页所属网站,接收所述网 站返回的响应信息,判断所述缓存模块中是否已缓存所述网页的CSS子资 源,将判断结果通知给所述CSS资源优化模块;所述代理模块,还适于在判 断结果为所述缓存模块中未缓存所述网页的CSS子资源时,将接收的响应信 息转发给所述客户端,接收所述客户端发送的CSS子资源请求,将所述CSS 子资源请求转发给所述网站,接收所述网站返回的CSS子资源,并将所述 CSS子资源转发给所述客户端;所述CSS资源优化模块具体包括:CSS优化 子模块和CSS修改子模块;所述CSS优化子模块,适于在判断结果为所述 缓存模块中未缓存所述网页的CSS子资源时,将从网站接收的CSS子资源 进行优化,并缓存到所述缓存模块;所述CSS修改子模块,适于在判断结果 为所述缓存模块中已缓存所述网页的CSS子资源时,根据所述缓存模块中已 缓存的内容对接收的网站返回的响应信息进行修改;所述代理模块,还适于 将所述修改后的响应信息发送给所述客户端,接收到所述客户端发送的CSS 子资源请求后,在所述缓存模块中查找对应的优化后的CSS子资源,将查找 到的优化后的CSS子资源返回给所述客户端。所述缓存模块,适于缓存优化 后的CSS子资源。C9、根据C8所述的服务器,其中,所述CSS优化子模块, 适于去除各个CSS子资源中的冗余信息。C10、根据C8或C9所述的服务器, 其中,所述CSS优化子模块,适于根据CSS子资源的语义和/或逻辑,将多 个CSS子资源分组,在每个分组中,将分组中的CSS子资源聚合为一个CSS 子资源。C11、根据C8所述的服务器,其中,所述CSS优化子模块,适于 为优化后的CSS子资源,生成对应的URL,记录访问的网页的URL与优化 后的CSS子资源的URL的对应关系,将优化后的CSS子资源缓存到所述缓 存模块。C12、根据C11所述的服务器,其中,所述CSS修改子模块,适于 在记录的对应关系中查找访问的网页的URL,将响应信息中包含的CSS子 资源的URL修改为对应的优化后的CSS子资源的URL。C13、根据C8至 C12任一项所述的服务器,其中,所述代理模块,适于在封装优化后的CSS 子资源的报文的报文头中添加CSS节省字节字段,该CSS节省字节字段中 填写优化后的CSS子资源与优化前的CSS子资源相比减少的字节数。

本发明实施例还公开了D14、一种加载访问网页的风格样式表的客户端, 所述客户端包括:通信模块,适于向服务器发送网页访问请求,并接收服务 器返回的响应信息,所述响应信息为所述网页所属的网站返回的响应信息或 所述服务器对其修改后的响应信息;解析模块,适于对响应信息进行解析; 所述通信模块,还适于根据解析出的内容向服务器发送CSS子资源请求,并 接收服务器返回的CSS子资源;加载模块,适于加载接收到的服务器返回的 CSS子资源。

根据本发明的实施例公开了E15、一种加载访问网页的风格样式表的系 统,所述系统包括:如C8至C13任一项所述的服务器,以及如权利要求D14 所述的客户端。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号