发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的处理风格样式表的方法、服务器、客户端和系统。
根据本发明的一个方面,提供了一种处理风格样式表的方法,所述方法包括:
服务器将客户端的网页访问请求转发给请求访问的网页所属的网站,接收所述网站返回的响应信息,判断所述服务器中是否已缓存所述网页的风格样式表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所示,为根据本发明一个实施例的处理风格样式表的服务器的结构图。服务器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(个人电脑,PersonalComputer)终端中浏览器,或者其他网页访问请求方,在此没有特别限制。
当客户端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(个人电脑,PersonalComputer)终端中浏览器,或者其他网页访问请求方,在此没有特别限制。
当客户端请求访问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所述的客户端。