《网页处理方法及装置.pdf》由会员分享,可在线阅读,更多相关《网页处理方法及装置.pdf(19页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104199951A43申请公布日20141210CN104199951A21申请号201410466289622申请日20140912G06F17/3020060171申请人百度在线网络技术北京有限公司地址100085北京市海淀区上地十街10号百度大厦72发明人刘四维欧阳显雅74专利代理机构北京鸿德海业知识产权代理事务所普通合伙11412代理人袁媛54发明名称网页处理方法及装置57摘要本发明提供一种网页处理方法及装置。方法包括接收浏览器发送的请求访问网页的访问请求;根据访问请求,获取网页所需的动态资源和网页所需的静态资源对应的静态压缩块;对静态压缩块和动态资源进行合并处理,。
2、获得网页对应的压缩数据;将压缩数据发送给浏览器。本发明可以在压缩网页的同时,降低服务器的处理负担。51INTCL权利要求书3页说明书11页附图4页19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书11页附图4页10申请公布号CN104199951ACN104199951A1/3页21一种网页处理方法,其特征在于,包括接收浏览器发送的请求访问网页的访问请求;根据所述访问请求,获取所述网页所需的动态资源和所述网页所需的静态资源对应的静态压缩块;对所述静态压缩块和所述动态资源进行合并处理,获得所述网页对应的压缩数据;将所述压缩数据发送给所述浏览器。2根据权利要求1所述的方法,其特征。
3、在于,所述根据所述访问请求,获取所述网页所需的动态资源和所述网页所需的静态资源对应的静态压缩块之前,还包括采用DEFLATE压缩算法,对所述静态资源进行压缩,获得第一DEFLATE压缩块;对所述第一DEFLATE压缩块进行字节边界对齐处理,获得对齐字节边界的所述静态压缩块。3根据权利要求2所述的方法,其特征在于,所述对所述第一DEFLATE压缩块进行字节边界对齐处理,获得对齐字节边界的所述静态压缩块,包括在所述第一DEFLATE压缩块之后拼接胶水块,以获得对齐字节边界的所述静态压缩块,所述胶水块是内容为空的的DEFLATE非压缩块。4根据权利要求3所述的方法,其特征在于,所述在所述第一DEFL。
4、ATE压缩块之后拼接胶水块,以获得对齐字节边界的所述静态压缩块,包括若所述第一DEFLATE压缩块的最后一个字节的剩余比特数大于或等于3,将所述胶水块的第一个字节的第一至第三比特填充到所述第一DEFLATE压缩块的最后一个字节中的最后一个有效比特之后的三个比特,并将所述胶水块中除第一个字节之外的其他字节添加到所述第一DEFLATE压缩块的最后一个字节之后,以获得对齐字节边界的所述静态压缩块;若所述第一DEFLATE压缩块的最后一个字节的剩余比特数小于3,在所述第一DEFLATE压缩块的最后一个字节的剩余比特中填充所述胶水块的第一个字节的第一至第三比特中的比特,并在所述第一DEFLATE压缩块的。
5、最后一个字节后添加用以填充所述胶水块的第一个字节的第一至第三比特中未被填充到所述第一DEFLATE压缩块的最后一个字节的比特的一个字节以及所述胶水块中除第一个字节之外的其他字节,以获得对齐字节边界的所述静态压缩块。5根据权利要求2或3或4所述的方法,其特征在于,所述对所述静态压缩块和所述动态资源进行合并处理,获得所述网页对应的压缩数据,包括对所述动态资源进行分割处理,以获得所述动态资源对应的DEFLATE非压缩块;对所述静态压缩块和所述DEFLATE非压缩块进行拼接处理,获得第一拼接处理结果;在所述第一拼接处理结果之后添加第一结束块,以获得所述压缩数据,所述第一结束块是第一比特为1而内容为空的。
6、DEFLATE非压缩块。6根据权利要求2或3或4所述的方法,其特征在于,所述对所述静态压缩块和所述动态资源进行合并处理,获得所述网页对应的压缩数据,包括采用DEFLATE压缩算法,对所述动态资源进行压缩,获得第二DEFLATE压缩块;对所述第二DEFLATE压缩块进行字节边界对齐处理,获得对齐字节边界的动态压缩块;权利要求书CN104199951A2/3页3对所述静态压缩块和所述动态压缩块进行拼接处理,获得第二拼接处理结果;在所述第二拼接处理结果之后添加第二结束块,以获得所述压缩数据,所述第二结束块是第一比特为1而内容为空的DEFLATE非压缩块。7根据权利要求14任一项所述的方法,其特征在于。
7、,所述将所述压缩数据发送给所述浏览器,包括根据GZIP格式对所述压缩数据进行封装,获得GZIP文件;将所述GZIP文件发送给所述浏览器。8一种网页处理装置,其特征在于,包括接收模块,用于接收浏览器发送的请求访问网页的访问请求;获取模块,用于根据所述访问请求,获取所述网页所需的动态资源和所述网页所需的静态资源对应的静态压缩块;合并处理模块,用于对所述静态压缩块和所述动态资源进行合并处理,获得所述网页对应的压缩数据;发送模块,用于将所述压缩数据发送给所述浏览器。9根据权利要求8所述的装置,其特征在于,还包括压缩模块,用于采用DEFLATE压缩算法,对所述静态资源进行压缩,获得第一DEFLATE压缩。
8、块;边界对齐处理模块,用于对所述第一DEFLATE压缩块进行字节边界对齐处理,获得对齐字节边界的所述静态压缩块。10根据权利要求9所述的装置,其特征在于,所述边界对齐处理模块具体用于在所述第一DEFLATE压缩块之后拼接胶水块,以获得对齐字节边界的所述静态压缩块,所述胶水块是内容为空的DEFLATE非压缩块。11根据权利要求10所述的装置,其特征在于,所述边界对齐处理模块进一步具体用于若所述第一DEFLATE压缩块的最后一个字节的剩余比特数大于或等于3,将所述胶水块的第一个字节的第一至第三比特填充到所述第一DEFLATE压缩块的最后一个字节中的最后一个有效比特之后的三个比特,并将所述胶水块中除。
9、第一个字节之外的其他字节添加到所述第一DEFLATE压缩块的最后一个字节之后,以获得对齐字节边界的所述静态压缩块;若所述第一DEFLATE压缩块的最后一个字节的剩余比特数小于3,在所述第一DEFLATE压缩块的最后一个字节的剩余比特中填充所述胶水块的第一个字节的第一至第三比特中的比特,并在所述第一DEFLATE压缩块的最后一个字节后添加用以填充所述胶水块的第一个字节的第一至第三比特中未被填充到所述第一DEFLATE压缩块的最后一个字节的比特的一个字节以及所述胶水块中除第一个字节之外的其他字节,以获得对齐字节边界的所述静态压缩块。12根据权利要求9或10或11所述的装置,其特征在于,所述合并处理。
10、模块包括分割单元,用于对所述动态资源进行分割处理,以获得所述动态资源对应的DEFLATE非压缩块;第一拼接单元,用于对所述静态压缩块和所述DEFLATE非压缩块进行拼接处理,获得权利要求书CN104199951A3/3页4第一拼接处理结果;第一添加单元,用于在所述第一拼接处理结果之后添加第一结束块,以获得所述压缩数据,所述第一结束块是第一比特为1而内容为空的DEFLATE非压缩块。13根据权利要求9或10或11所述的装置,其特征在于,所述合并处理模块包括压缩单元,用于采用DEFLATE压缩算法,对所述动态资源进行压缩,获得第二DEFLATE压缩块;边界对齐处理单元,用于对所述第二DEFLATE。
11、压缩块进行字节边界对齐处理,获得对齐字节边界的动态压缩块;第二拼接单元,用于对所述静态压缩块和所述动态压缩块进行拼接处理,获得第二拼接处理结果;第二添加单元,用于在所述第二拼接处理结果之后添加第二结束块,以获得所述压缩数据,所述第二结束块是第一比特为1而内容为空的DEFLATE非压缩块。14根据权利要求811任一项所述的装置,其特征在于,还包括封装模块,用于根据GZIP格式对所述压缩数据进行封装,获得GZIP文件;所述发送模块具体用于将所述GZIP文件发送给所述浏览器。权利要求书CN104199951A1/11页5网页处理方法及装置【技术领域】0001本发明涉及计算机技术领域,尤其涉及一种网页。
12、处理方法及装置。【背景技术】0002当浏览器需要访问网页时,向服务器发送访问请求,服务器会根据该访问请求生成相应的网页,并将生成的网页作为响应返回给浏览器。0003由于网页的数据量一般会非常大,为了减少传输的数据量,服务器可以在每次生成网页后,对网页进行压缩,然后将压缩后的网页作为响应返回给浏览器。浏览器收到压缩后的网页后,解压缩网页。通过对网页进行压缩,可以有效减少传输的数据量,提高服务器的带宽利用率。0004但是,服务器针对浏览器的每次请求都进行网页的压缩处理,处理负担较重。【发明内容】0005本发明的多个方面提供一种网页处理方法及装置,用以在压缩网页的同时,降低服务器的处理负担。0006。
13、本发明的一方面,提供一种网页处理方法,包括0007接收浏览器发送的请求访问网页的访问请求;0008根据所述访问请求,获取所述网页所需的动态资源和所述网页所需的静态资源对应的静态压缩块;0009对所述静态压缩块和所述动态资源进行合并处理,获得所述网页对应的压缩数据;0010将所述压缩数据发送给所述浏览器。0011本发明的另一方面,提供一种网页处理装置,包括0012接收模块,用于接收浏览器发送的请求访问网页的访问请求;0013获取模块,用于根据所述访问请求,获取所述网页所需的动态资源和所述网页所需的静态资源对应的静态压缩块;0014合并处理模块,用于对所述静态压缩块和所述动态资源进行合并处理,获得。
14、所述网页对应的压缩数据;0015发送模块,用于将所述压缩数据发送给所述浏览器。0016在本发明技术方案中,网页处理装置接收浏览器发送的请求访问网页的访问请求,根据访问请求获取该网页所需的动态资源以及该网页所需的静态资源的静态压缩块,之后对静态压缩块和动态资源进行合并处理,获得该网页对应的压缩数据,并将压缩数据发送给浏览器。本发明采用静态资源对应的压缩块代替静态资源,而不是采用静态资源,实现对网页的压缩,有利于减少传输的数据量;另外,由于本发明中的静态资源不随着浏览器的访问请求的变化而变化,这样网页处理装置可以预先对静态资源进行一次压缩生成静态压缩块,在使用时可以直接获取静态压缩块,这与现有技术。
15、中针对浏览器的每次请求都对说明书CN104199951A2/11页6整个网页进行压缩处理的技术方案相比,可以降低网页处理装置的处理负担。【附图说明】0017为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。0018图1为本发明一实施例提供的网页处理方法的流程示意图;0019图2为本发明一实施例提供的DEFLATE压缩块拼接格式的示意图;0020图3为本发明一实施例提供的DEFLATE非压缩块的格式的示。
16、意图;0021图4为本发明一实施例提供的第一DEFLATE压缩块和胶水块拼接后的格式的示意图;0022图5为本发明一实施例提供的结束块的格式的示意图;0023图6为本发明一实施例提供的GZIP格式的示意图;0024图7为本发明另一实施例提供的网页处理方法的流程示意图;0025图8为本发明一实施例提供的网页处理装置的结构示意图;0026图9为本发明另一实施例提供的网页处理装置的结构示意图。【具体实施方式】0027为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施。
17、例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。0028图1为本发明一实施例提供的网页处理方法的流程示意图。如图1所示,该方法包括0029101、接收浏览器发送的请求访问网页的访问请求。0030102、根据上述访问请求,获取上述网页所需的动态资源和上述网页所需的静态资源对应的静态压缩块。0031103、对上述静态压缩块和上述动态资源进行拼接处理,获得上述网页对应的压缩数据。0032104、将上述压缩数据发送给浏览器。0033本实施例的执行主体可以是网页处理装置,例如具体可以是具有压缩处理功能且能够提供网页的服务器。0034当。
18、浏览器向网页处理装置请求访问某个网页时,网页处理装置确定浏览器请求访问的网页所需的资源,一般网页会包括动态资源和静态资源。静态资源是指需要发送给浏览器但却不会因为日常操作而发生变化的资源。例如,用于描绘网站外观的图片和CSS代码、在浏览器中运行的JS代码、以及页头、页尾等固定内容都属于静态资源。通常这些静态资源会单独存储在静态资源服务器上。相应的,动态资源是指需要根据访问请求的不同而动态生成的内容。例如,对不同用户进行的个性化推荐结果,根据请求参数从数据库里取出说明书CN104199951A3/11页7的不同内容等都属于动态资源。0035在确定浏览器请求访问的网页所需的静态资源和动态资源之后,。
19、网页处理装置获取该网页所需的动态资源以及该网页所需的静态资源对应的静态压缩块。其中,静态压缩块是对静态资源进行压缩生成的,其数据量要小于静态资源的数据量。0036其中,静态资源对应的静态压缩块可以预先生成并存储。具体的,网页处理装置可以预先采用压缩算法对静态资源进行压缩,获得静态压缩块。另外,由于静态资源不会随浏览器的访问请求发生变化,所以网页处理装置只需预先对静态资源进行一次压缩处理即可,有利于减轻网页处理装置的处理负担。0037在获得浏览器请求访问的网页所需的动态资源和静态资源对应的静态压缩块之后,网页处理装置对静态压缩块和动态资源进行合并处理,获得浏览器请求访问的网页对应的压缩数据。之后。
20、,网页处理装置将压缩数据发送给浏览器。0038对浏览器来说,接收网页处理装置发送的压缩数据,对压缩数据进行解压缩,获得原始网页数据。0039在本实施例中,网页处理装置采用静态资源对应的压缩块代替静态资源,而不是采用静态资源,实现对网页的压缩,有利于减少传输的数据量;另外,由于本实施例中的静态资源不随着浏览器的访问请求的变化而变化,这样网页处理装置可以预先对静态资源进行一次压缩生成静态压缩块,当网页处理装置接收到浏览器的访问请求时,可以直接获取静态压缩块,这与现有技术中针对浏览器的每次请求都对整个网页进行压缩处理的技术方案相比,可以降低网页处理装置的处理负担。0040值得说明的是,静态资源对应的。
21、静态压缩块可以是一个或多个。对每个静态压缩块的处理方式均相同,下面实施例以任意一个静态压缩块为例进行说明。0041在一可选实施方式中,上述对静态资源进行压缩采用的压缩算法可以DEFLATE压缩算法,DEFLATE压缩算法是同时使用了LZ77算法与哈夫曼编码HUFFMANCODING的一个无损数据压缩算法。在DEFLATE压缩算法中,“DEFLATE”不是真正意义上的英文单词,而是作为算法名称被使用,可以直译成“缩小”或者“真空”等中文词。例如,网页处理装置可以直接利用DEFLATE压缩算法对静态资源进行压缩,以获得静态压缩块。0042DEFLATE压缩算法的详细描述可参见RFC1951HTTP。
22、/WWWIETFORG/RFC/RFC1951TXT。DEFLATE压缩算法允许多个DEFLATE压缩块和DEFLATE非压缩块同时存在于一个DEFLATE块集合中,每个DEFLATE压缩块不保证字节边界对齐,并且后一个DEFLATE压缩块的前几个比特,与前一个DEFLATE压缩块的最后几个比特,是紧挨着的,有可能共存于同一个字节中,DEFLATE非压缩块保证字节边界对齐。一个DEFLATE压缩块包括多个比特,如果一个DEFLATE压缩块包括的比特数为8的整数倍,那么这个DEFLATE压缩块是对齐字节边界的,否则,不是对齐字节边界的。如图2所示,两个DEFLATE压缩块,连续存储,虚线左侧部分。
23、表示第一个DEFLATE压缩块,占用12个比特,虚线右侧部分为第二个DEFLATE压缩块,占用20个比特。第一个DEFLATE压缩块不是对齐字节边界的,第二个压缩块也不是对齐字节边界的,但两个DEFLATE压缩块拼接在一起后,是对齐字节边界的。0043对于每个DEFLATE块,其前三个比特含义如下0044第一个比特结束标志。如果这个DEFLATE块是最后一个块,那么该比特设置为1,否则设置为0。说明书CN104199951A4/11页80045第二和第三比特压缩类型。00表示没有压缩,01表示采用固定霍夫曼编码压缩,10表示采用动态霍夫曼编码压缩,11保留字段。0046其中,DEFLATE块可。
24、以是DEFLATE压缩块或者DEFLATE非压缩块。0047当DEFLATE块为DEFLATE非压缩块时,从第4个比特开始到第一个字节边界结束的比特被忽略,从下一个字节开始,DEFLATE非压缩块的格式如下图3所示。其中LEN为非压缩块的字节数,NLEN为LEN的补码ONESCOMPLEMENT,之后是LEN字节长度的非压缩数据。这也就意味着DEFLATE非压缩块是对齐字节边界的。0048当DEFLATE块为DEFLATE压缩块时,该块的格式由RFC1951指定,由于本发明实施例不关心这个格式,因此不做进一步阐述。值得说明的是DEFLATE压缩块不保证字节边界对齐。0049由于DEFLATE压。
25、缩算法要求多个DEFLATE块连续存储,但是由于DEFLATE压缩块不保证字节边界对齐,因此在拼接多个DEFLATE块的时候,需要额外的处理。0050为解决上述问题,本实施例采用DEFLATE压缩算法对静态资源进行压缩处理,获得静态压缩块的一种实施方式包括0051采用DEFLATE压缩算法,对静态资源进行压缩,获得第一DEFLATE压缩块;0052对上述第一DEFLATE压缩块进行字节边界对齐处理,获得对齐字节边界的静态压缩块。0053上述第一DEFLATE压缩块实际上就是DEFLATE压缩块,为便于与后续出现的DEFLATE压缩块进行区分,这里的DEFLATE压缩块称为第一DEFLATE压缩。
26、块。这里的第一既没有个数的限定,也没有先后顺序的限定。0054网页处理装置采用DEFLATE压缩算法,对静态资源进行压缩,获得第一DEFLATE压缩块的过程可参见现有技术,在此不再赘述。0055网页处理装置可以采用多种方式,对第一DEFLATE压缩块进行字节边界对齐处理,获得对齐字节边界的静态压缩块。本实施例提供一种处理方法包括0056在第一DEFLATE压缩块之后拼接胶水块,以获得对齐字节边界的静态压缩块,该胶水块是内容为空的DEFLATE非压缩块。简单的说,该实施方式是在第一DEFLATE压缩块后面追加一个DEFLATE非压缩块,保证这两个DEFLATE块的组合是字节边界对齐的。在本实施方。
27、式中,将这个追加的内容为空的DEFLATE非压缩块,称为“胶水块”。这里的“内容为空”是指该胶水块不包含任何有效或有意义的数据,结合图3所示DEFLATE非压缩块的结构,内容为空主要是指NLEN字节之后的非压缩数据为空。0057上述胶水块只是为了保证第一DEFLATE压缩块能够以字节边界对齐,所以其内容为空,根据前面图3提到的DEFLATE非压缩块的格式,可以得到胶水块的一种实现格式如下第一个比特为0,表示该胶水块不是最后一个DEFLATE块;第二和第三比特为00,表示该胶水块是非压缩块;从第4比特到第一个字节边界为止的比特可以被忽略;自下一个字节开始的4个字节分别为0X00,0X00,0XF。
28、F,0XFF,前2个字节表示长度,由于胶水块内容为空,所以该长度实际上为0,后2个字节表示长度的补码ONESCOMPLEMENT。0058图4所示为第一DEFLATE压缩块和胶水块拼接后的示意图。如图4所示,图4中的18比特隶属于同一个字节,且该字节是第一DEFLATE压缩块的最后一个字节,也是胶水块的第一个字节,第一DEFLATE压缩块和胶水块共享该字节;其中虚线左侧部分属于第一说明书CN104199951A5/11页9DEFLATE压缩块,虚线右侧部分属于胶水块,且胶水块的前三个比特即图4中的第4,5,6比特为000,图4中的第7,8比特忽略。0059值得说明的是,虽然胶水块具有上述实现格。
29、式,但由于胶水块中从第4比特到第一个字节边界为止的比特可以被忽略,所以根据实际被忽略的比特数的不同,胶水块的长度并不相同。0060基于上述胶水块的实现格式,上述在第一DEFLATE压缩块之后拼接胶水块,以获得对齐字节边界的静态压缩块的实施过程可以包括0061若第一DEFLATE压缩块的最后一个字节的剩余比特数大于或等于3,将胶水块的第一个字节的第一至第三比特填充到第一DEFLATE压缩块的最后一个字节中的最后一个有效比特之后的三个比特,并将胶水块中除第一个字节之外的其他字节添加到第一DEFLATE压缩块的最后一个字节之后,以获得对齐字节边界的静态压缩块;0062这里所说的“有效比特”指的是包含。
30、在第一DEFLATE压缩块的最后一个字节内,且包含有效或有意义数据的比特。比如说,第一DEFLATE压缩块由34个比特组成,需要5个字节40个比特存储,那么它的最后一个字节的第1比特和第2比特用于存储压缩块的最后2个比特,最后一个字节的第3,第4和第5个比特用于存储胶水块的前3个比特,最后一个字节的第6,第7和第8个比特内容被忽略。就是说,DEFLATE压缩块的最后一个字节也存储了胶水块的第一个字节的内容。0063若第一DEFLATE压缩块的最后一个字节的剩余比特数小于3,在第一DEFLATE压缩块的最后一个字节的剩余比特中填充胶水块的第一个字节的第一至第三比特中的比特,并在第一DEFLATE。
31、压缩块的最后一个字节后添加用以填充胶水块的第一个字节的第一至第三比特中未被填充到第一DEFLATE压缩块的最后一个字节的比特的一个字节以及胶水块中除第一个字节之外的其他字节,以获得对齐字节边界的静态压缩块。0064基于上述胶水块,上述步骤103,即对静态压缩块和动态资源进行合并处理,获得网页对应的压缩数据的一种实施方式包括0065对动态资源进行分割处理,以获得动态资源对应的DEFLATE非压缩块;0066对静态压缩块和动态资源对应的DEFLATE非压缩块进行拼接处理,获得第一拼接处理结果;0067在第一拼接处理结果之后添加第一结束块,以获得压缩数据,第一结束块是第一比特为1而内容为空的DEFL。
32、ATE非压缩块。0068对于DEFLATE非压缩块,其本身是字节边界对齐的,因此网页处理装置可以对动态资源进行分割处理,获得对应的DEFLATE非压缩块。由于静态压缩块也是字节边界对齐的,所以可以将任意两个DEFLATE非压缩块,以及DEFLATE非压缩块与DEFLATE压缩块和胶水块组合即静态压缩块进行拼接,此时的拼接过程就是两个字符串的拼接过程,不会影响网页处理装置的性能。0069值得说明的是,在多个DEFLATE非压缩块和静态压缩块进行拼接的过程中,若前面的每个块这里的块包括DEFLATE非压缩块和静态压缩块的第一个比特都是0,则需要最后一个块的第一个比特必须是1,表示这个块是最后一个块。
33、。但是考虑到,静态压缩块和动态资源对应的DEFLATE非压缩块之间的拼接顺序是由浏览器发送的访问请求确定的,不同访问请求会导致静态压缩块和动态资源对应的DEFLATE非压缩块之间的拼接顺序不同。说明书CN104199951A6/11页10也就是说,网页处理装置无法预先获知静态压缩块和动态资源对应的DEFLATE非压缩块中哪个块属于最后一个块。为解决最后一个块的问题,网页处理装置提供一种“结束块”的概念。结束块也是一个内容为空的DEFLATE非压缩块,和胶水块类似,它没有任何内容,只是为了标明这个块是最后一个DEFLATE块。与胶水块不同的是,结束块的第一个比特需要是1,表示结束。这里的“内容为。
34、空”是指该结束块不包含任何有效或有意义的数据,结合图3所示DEFLATE非压缩块的结构,内容为空主要是指NLEN字节之后的非压缩数据为空。基于前面图3所示的DEFLATE非压缩块,结束块的一种实现格式如图5所示0070第一个字节第一个比特为1,标识结束,第二和第三比特为0,表示这是一个非压缩块,第四到第八比特可以被忽略,例如可以直接设置为0,这样第一个字节为0X01;第二到第五字节分别为0X00,0X00,0XFF,0XFF,前2字节表示长度,由于结束块为空,所以该长度实际上为0,后2个字节表示长度的补码。0071在上述实施方式中,网页处理装置不需要对动态资源进行压缩,直接将静态资源对应的静态。
35、压缩块与动态资源进行拼接,获得网页对应的压缩数据,实际上相当于字符串的拼接,只需极少的CPU资源,因此有利于降低网页处理装置的处理负担,对网页处理装置的性能几乎没有影响。另外,在压缩比方面,当网页中的静态资源的数据量较大时,通过静态压缩块代替静态资源,能有效压缩数据,例如对于在某些应用过程中,发现可以将原始网页数据压缩到50左右,因此可以极大的减少数据传输量。0072在上述实施方式中,网页处理装置不对动态资源进行压缩,但并不限于此。例如,在下面实施方式中,网页处理装置对动态资源进行压缩处理。0073在另一可选实施方式中,对静态压缩块和动态资源进行合并处理,获得网页对应的压缩数据,包括0074采。
36、用DEFLATE压缩算法,对动态资源进行压缩,获得第二DEFLATE压缩块;0075对第二DEFLATE压缩块进行字节边界对齐处理,获得对齐字节边界的动态压缩块;0076对静态压缩块和动态压缩块进行拼接处理,获得第二拼接处理结果;0077在第二拼接处理结果之后添加第二结束块,以获得压缩数据,第二结束块是第一比特为1而内容为空的DEFLATE非压缩块。0078上述第二DEFLATE压缩块实际上就是DEFLATE压缩块,为便于与前面出现的第一DEFLATE压缩块进行区分,这里的DEFLATE压缩块称为第二DEFLATE压缩块。这里的第二既没有个数的限定,也没有先后顺序的限定。0079网页处理装置采。
37、用DEFLATE压缩算法,对动态资源进行压缩,获得第二DEFLATE压缩块的过程可参见现有技术,在此不再赘述。0080网页处理装置对第二DEFLATE压缩块进行字节边界对齐处理,获得对齐字节边界的动态压缩块的过程,可参见网页处理装置对第一DEFLATE压缩块进行字节边界对齐处理,获得对齐字节边界的静态压缩块的过程,在此不再详述。0081由于动态压缩块和静态压缩块都是字节边界对齐的,因此网页处理装置对动态压缩块和静态压缩块进行拼接处理过程实际上是两个字符串的拼接过程,该过程也只需消耗较少CPU资源,几乎不会影响网页处理装置的性能。0082同理,考虑到网页处理装置无法预先获知静态压缩块和动态压缩块。
38、中哪个块属于说明书CN104199951A107/11页11最后一个块,因此同样可以在第二拼接结果后面添加结束块,用以标识第二拼接结果的结束。这里第二结束块与前述第一结束块的结构相同,且在第二拼接结果后添加第二结束块的过程可参见前述在第一拼接结果后添加第一结束块的过程,不再详述。0083在本实施方式中,网页处理装置对动态资源进行压缩,且用静态压缩块替代静态资源,可以极大的压缩网页数据,进一步减少数据传输量;另外,由于网页处理装置可以直接获取预先压缩得到的静态资源块,而不需要像现有技术那样每次都对静态资源进行压缩,因此与现有技术相比,有利于降低网页处理装置的处理负担,降低对网页处理装置的性能的影。
39、响。0084在一可选实施方式中,上述步骤104,即网页处理装置将压缩数据发送给浏览器的实施方式包括网页处理装置直接将压缩数据发送给浏览器;或者,网页处理装置可以采用指定的文件格式对压缩数据进行封装,将封装后的压缩数据发送给浏览器。例如,网页处理装置可以采用GZIP格式对压缩数据进行封装。基于此,上述步骤104的一种具体实施方式包括网页处理装置根据GZIP格式对压缩数据进行封装,获得GZIP文件;将GZIP文件发送给浏览器。0085在一可选实施方式中,网页处理装置同时采用GZIP文件格式和DEFLATE压缩算法。0086GZIP是一种压缩文件格式,其详细描述请参见RFC1952可参见HTTPS/。
40、WWWIETFORG/RFC/RFC1952TXT。简述其格式如图6所示,各字段解释如下0087ID1一个字节,固定为0X1F0088ID2一个字节,固定为0X8B0089CM压缩算法,一个字节,本实施例采用DEFLATE压缩算法,其对应的CM为0X080090FLG各种标志位,一个字节,它的取值决定了图6中“其它可选项”部分。本发明实施例不关心这些标志,设置为0X00。即不设置任何标志,因此图6中的“其它可选项”部分为空。0091MTIME文件最后一次修改的时间戳,四个字节,本实施例设置为0X00,0X00,0X00,0X00,即四个字节全为0,表示不提供时间戳。0092XFL额外的标志位,。
41、一个字节,直接设置为0X00,不设置任何标志。0093OS操作系统类型,一个字节,这里设置为0X03,表示UNIX服务器。0094以上字段可称为GZIP头部信息。0095多个压缩块这部分的格式由具体的压缩算法决定,对于使用DEFLATE压缩算法来说,这里对应于的是采用DEFLATE压缩算法获得的多个DEFLATE块。0096CRC32原始数据未压缩前的数据的CRC32校验和,四个字节。0097ISIZE原始数据的长度除以232的余数,四个字节。0098基于上述,网页处理装置可以预先准备好固定的GZIP头部信息,即0X1F,0X8B,0X08,0X00,0X00,0X00,0X00,0X00,0。
42、X00,0X03;同时记录下静态资源,用于之后的计算CRC32编码,以及ISIZE;并准备好固定的结束块0X01,0X00,0X00,0XFF,0XFF。0099基于上述准备工作,如图7所示,网页处理装置处理网页的流程包括0100701、接收浏览器发送的请求访问网页的访问请求。0101该访问请求携带有请求参数,请求参数具体可由实际应用决定。例如,对于网站内说明书CN104199951A118/11页12容推荐应用,该请求参数可以包括站点标识ID、推荐样式、推荐模板等。0102702、根据访问请求,获取网页所需的未经压缩的动态资源和网页所需的静态资源对应的预先压缩的静态压缩块。0103703、根。
43、据访问请求指定这些静态压缩块和动态资源的拼接顺序。0104例如,对于网站内容推荐应用而言,网页所需的静态资源可能包括需要使用的样式、模板和插件等,而网站推荐结果属于网页中的动态资源。例如,以插件为例,有的插件需要放到动态资源前面,有的插件需要放到动态资源后面。0105网页处理装置可以根据访问请求中的请求参数来决定需要使用什么样式、什么模板、什么插件,以及需要的推荐结果等;这些内容确定后,也就确定了这些内容之间的拼接顺序。0106704、按照指定的拼接顺序将静态压缩块和未压缩的动态资源拼接起来,并在最后拼接结束块,形成压缩数据,实际上是DEFLATE块集合。0107其中,采用DEFLATE压缩算。
44、法对静态资源进行压缩获得静态压缩块的过程可参见前述实施例的描述,在此不再赘述。0108705、根据静态资源和动态资源,计算出在未压缩的情况下的CRC32校验和,以及未压缩情况下的数据长度ISIZE。0109706、将预先准备的GZIP头部信息、上述DEFLATE块集合、CRC32校验和、以及ISIZE拼接在一起形成最终的GZIP文件。0110707、将GZIP文件返回给浏览器。0111在本实施例中,网页处理装置接收浏览器发送的请求访问网页的访问请求,根据访问请求获取该网页所需的动态资源以及该网页所需的静态资源的静态压缩块,之后对静态压缩块和动态资源进行拼接处理,获得该网页对应的压缩数据,并将压。
45、缩数据发送给浏览器。本实施例采用静态资源对应的压缩块代替静态资源,而不是采用静态资源,实现对网页的压缩,有利于减少传输的数据量;另外,由于本实施例中的静态资源不随着浏览器的访问请求的变化而变化,这样网页处理装置可以预先对静态资源进行一次压缩生成静态压缩块,在使用时可以直接获取静态压缩块,这与现有技术中针对浏览器的每次请求都对整个网页进行压缩处理的技术方案相比,可以降低网页处理装置的处理负担。0112需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进。
46、行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。0113在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。0114图8为本发明一实施例提供的网页处理装置的结构示意图。如图8所示,该网页处理装置包括接收模块81、获取模块82、合并处理模块83和发送模块84。0115接收模块81,用于接收浏览器发送的请求访问网页的访问请求。0116获取模块82,与接收模块81连接,用于根据接收模块81接收的访问请求,获取网页所需的动态资源和网页所需的静态资源对应的静态压缩块。说明书CN10。
47、4199951A129/11页130117合并处理模块83,与获取模块82连接,用于对获取模块82获取的静态压缩块和动态资源进行合并处理,获得网页对应的压缩数据。0118发送模块84,与合并处理模块83连接,用于将合并处理模块83获得的压缩数据发送给浏览器。0119在一可选实施方式中,如图9所示,网页处理装置还包括压缩模块85和边界对齐处理模块86。0120压缩模块85,用于采用DEFLATE压缩算法,对静态资源进行压缩,获得第一DEFLATE压缩块;0121边界对齐处理模块86,与压缩模块85连接,用于对压缩模块85获得的第一DEFLATE压缩块进行字节边界对齐处理,获得对齐字节边界的静态压。
48、缩块。边界对齐处理模块86与获取模块82连接,用于向获取模块82提供对齐字节边界的静态压缩块。0122进一步,边界对齐处理模块具体用于在第一DEFLATE压缩块之后拼接胶水块,以获得对齐字节边界的静态压缩块,胶水块是内容为空的DEFLATE非压缩块。0123更进一步,边界对齐处理模块86进一步具体用于0124若第一DEFLATE压缩块的最后一个字节的剩余比特数大于或等于3,将胶水块的第一个字节的第一至第三比特填充到第一DEFLATE压缩块的最后一个字节中的最后一个有效比特之后的三个比特,并将胶水块中除第一个字节之外的其他字节添加到第一DEFLATE压缩块的最后一个字节之后,以获得对齐字节边界的。
49、静态压缩块;0125若第一DEFLATE压缩块的最后一个字节的剩余比特数小于3,在第一DEFLATE压缩块的最后一个字节的剩余比特中填充胶水块的第一个字节的第一至第三比特中的比特,并在第一DEFLATE压缩块的最后一个字节后添加用以填充胶水块的第一个字节的第一至第三比特中未被填充到第一DEFLATE压缩块的最后一个字节的比特的一个字节以及胶水块中除第一个字节之外的其他字节,以获得对齐字节边界的静态压缩块。0126在一可选实施方式中,如图9所示,合并处理模块83的一种实现结构包括分割单元831、第一拼接单元832和第一添加单元833。0127分割单元831,与获取模块82连接,用于对获取模块82获取的动态资源进行分割处理,以获得动态资源对应的DEFLATE非压缩块。0128第一拼接单元832,与获取模块82和分割单元831连接,用于对获取模块82获取的静态压缩块和分割单元831获得的DEFLATE非压缩块进行拼接处理,获得第一拼接处理结果。0129第一添加单元833,与第一拼接单元832连接,用于在第一添加单元833获得的第一拼接处理结果之后添加第一结束块,以获得压缩数据,第一结束块是第一比特为1而内容为空的DEFLATE非压缩块。0130在另一可选实施方式中,如图9所示,合并处理模块83的另一种实现结构包括压缩单元834、边界对齐处理单元835、第二拼接单元836和第二添。