视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
网页怎么压缩,大师们指点一下。
2024-12-02 02:15:03 责编:小OO
文档

HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。通过使用通用的压缩算法如gzip等,可以压缩HTML、JavaScript或CSS文件。压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。当然,同时也会增加一点点服务器的负担。Gzip是比较常见的一种HTTP压缩算法。

Web服务器处理HTTP压缩的工作原理如下:首先,Web服务器接收到浏览器的HTTP请求后,会检查浏览器是否支持HTTP压缩。在用户浏览器发送请求的HTTP头中,带有"Accept-Encoding: gzip, deflate"参数则表明支持gzip和deflate两种压缩算法。

接下来,如果浏览器支持HTTP压缩,Web服务器会检查请求文件的后缀名。对于静态文件和动态文件,需要在MetaBase.xml中设置相应的属性。静态文件需要设置HcFileExtensions,动态文件需要设置HcScriptFileExtensions。设置完成后,Web服务器会到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件。如果不存在,会向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件。如果存在,则直接返回请求文件的压缩文件。

对于ASPX等动态文件,如果文件后缀启用了压缩,Web服务器会动态压缩内容并返回浏览器,压缩内容不会存放到压缩缓存目录中。接下来介绍在IIS中启用HTTP压缩的方法。默认情况下,IIS并不支持HTTP压缩,需要进行简单的配置。

首先,打开Internet信息服务(IIS)管理器,右击"网站"-"属性"选择"服务"。在"HTTP压缩"框中选中"压缩应用程序文件"和"压缩静态文件",按需要设置"临时目录"和"临时目录的最大"。然后,在Internet信息服务(IIS)管理器,右击"Web服务扩展"-"增加一个新的Web服务扩展...",在"新建Web服务扩展"框中输入扩展名为"HTTP Compression",添加"要求的文件"为C:WINDOWSsystem32inetsrvgzip.dll,其中Windows系统目录根据您的安装可能有所不同,选中"设置扩展状态为允许"。

接着,使用文本编辑器打开C:WindowsSystem32inetsrvMetaBase.xml(建议先备份),找到Location ="/LM/W3SVC/Filters/Compression/gzip"用于设置gzip压缩,找到Location ="/LM/W3SVC/Filters/Compression/deflate"用于设置deflate压缩。这两个节点紧挨着,并且设置的属性相同。如果需要压缩动态文件,则将HcDoDynamicCompression设置为"TRUE",并在HcScriptFileExtensions中增加您要压缩的动态文件后缀名,如aspx;如果需要压缩静态文件,则将HcDoStaticCompression和HcDoOnDemandCompression设置为"TRUE",并在HcFileExtensions中增加您需要压缩的静态文件后缀名,如xml、css等。

HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的压缩率,数值在0-10, 默认为0。HcDynamicCompressionLevel属性说明:HcDynamicCompressionLevel Metabase Property;HcOnDemandCompLevel属性说明:HcOnDemandCompLevel Metabase Property。这两个属性值一般推荐设置为9,具有最佳性价比。但在我的window server 2003上,压缩率无论如何设置,jQuery和jQuery UI两个文件(58k/188k)压缩后的大小一直相同。(20k/45k)。

编辑完毕后保存MetaBase.xml文件;如果文件无法保存,则可能IIS正在使用该文件。打开"开始"-"管理工具"-"服务",停止"IIS Admin Service"后,即可保存。最后,重新启动IIS。可以到HTTP压缩测试网站验证结果。以jQuery为例,核心类库和UI类库原始大小分别是57k和188k,压缩后分别是20k和45k。我们通过Http头中的:Content-Encoding:gzip属性判断返回后的数据已经启用了gzip压缩。

使用YSlow检测,当只启动静态文件压缩时:Gzip压缩评级为B;当同时启动了动态文件压缩时,Gzip压缩评级为A。

下载本文
显示全文
专题