Win2003+IIS 6.0下启用压缩技术精简网站体积的方法
一.HTTP压缩概述
HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩采用通用的压缩算法如gzip等压缩HTML、JavaScript或 CSS文件。压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。当然,同时也会增加一点点服务器的负担。Gzip是比较常见的 一种HTTP压缩算法。
二.HTTP压缩工作原理
Web服务器处理HTTP压缩的工作原理如下:
1.Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩;
在用户浏览器发送请求的HTTP头中, 带有"Accept-Encoding: gzip, deflate"参数则表明支持gzip和deflate两种压缩算法.
2.如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名;
静态文件和动态文件后缀启动要所都需要在MetaBase.xml中设置.
静态文件需要设置: HcFileExtensions Metabase Property (单击跳转到MSDN说明)
动态文件需要设置: HcScriptFileExtensions Metabase Property (单击跳转到MSDN说明)
3.如果请求文件是HTML、CSS等静态文件并且文件后缀启用了压缩,则Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;
4.如果请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;
5.如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;
6.如果请求文件是ASPX等动态文件并且文件后缀启用了压缩,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。
三. 在IIS中启用HTTP压缩
IIS默认并不支持HTTP压缩,需要进行简单的配置
1.打开Internet信息服务(IIS)管理器,右击"网站"->"属性",选择"服务"。在"HTTP压缩"框中选中"压缩应用程序文件"和"压缩静态文件",按需要设置"临时目录"和"临时目录的最大限制";
2.提醒: 经试验此步骤在本人机器上没有作用, 可以忽略.
在Internet信息服务(IIS)管理器,右击"Web服务扩展"->"增加一个新的Web服务扩展...",在"新建Web服务扩展"框中输 入扩展名"HTTP Compression",添加"要求的文件"为C:WINDOWSsystem32inetsrvgzip.dll,其中Windows系统目 录根据您的安装可能有所不同,选中"设置扩展状态为允许";
3.使用文本编辑器打开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.
四.要点总结
1. 在修改MetaBase.xml文件时, 要停止"IIS Admin Service"服务. 否则无法保存.
2.静态压缩和动态压缩率最好设置为9.
3.上文的步骤2, 即使不添加Web服务扩展效果也是相同的.
4.压缩率设置对js文件不起作用, 压缩后大小总是相同的.
5.图片文件即使启用了gzip压缩大小也没有变化.
五. 总结
本文总结了如何在IIS中启用Gzip压缩. 在半年前的项目中我为网站启用了Gzip, 今天整理此文主要为了整理自己的知识以便以后忘记时复习. 另外经查看ChinaCache公司提供的CDN也都启用了Gzip压缩.
上一篇:Apache Wind2003 配置网站目录权限小结
栏 目:Windows
下一篇:windows服务器上的iis Gzip压缩功能启用
本文标题:Win2003+IIS 6.0下启用压缩技术精简网站体积的方法
本文地址:https://idc91.com/fuwuqizl/2911.html
您可能感兴趣的文章
- 11-07关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e2的问题
- 11-07WinServer2012搭建DNS服务器的方法步骤
- 11-07Win Server2016远程桌面如何允许多用户同时登录
- 11-07windows server 2012安装FTP并配置被动模式指定开放端口
- 11-07winserver2019安装软件一直卡在应用程序正在为首次使用做准备
- 11-07win server2012 r2服务器共享文件夹如何设置
- 11-07Windows Server 2022 超融合部署(图文教程)
- 11-07Windows server 2022创建创建林、域树、子域的步骤
- 11-07Windows server 2012 NTP时间同步的实现
- 11-07windows server 2016 域环境搭建的方法步骤(图文)
阅读排行
- 1关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e
- 2WinServer2012搭建DNS服务器的方法步骤
- 3Win Server2016远程桌面如何允许多用户同时登录
- 4windows server 2012安装FTP并配置被动模式指定开放端口
- 5winserver2019安装软件一直卡在应用程序正在为首次使用做准备
- 6win server2012 r2服务器共享文件夹如何设置
- 7Windows Server 2022 超融合部署(图文教程)
- 8Windows server 2022创建创建林、域树、子域的步骤
- 9Windows server 2012 NTP时间同步的实现
- 10windows server 2016 域环境搭建的方法步骤(图文)
推荐教程
- 05-27Windows Server 2012 没有远程桌面授权服务器可以提供许可证,远程会话被中
- 06-12windows2008+iis7环境SSL部署https证书
- 06-12windows2003系统如何部署SSL证书站点https访问
- 05-27Win10下配置IIS10并支持调试ASP程序的步骤
- 05-27Windows 2008任务计划执行bat脚本失败返回0x1的解决方法
- 11-07windows server2016安装oracle 11g的图文教程
- 11-07Windows server 2012 NTP时间同步的实现
- 05-27IIS 完全重装操作步骤
- 11-07windows server 2019 无法安装AMD Radeon RX 6600 XT
- 11-07Windows Server 2022 超融合部署(图文教程)