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:\WINDOWS\system32\inetsrv\gzip.dll,其中Windows系统目 录根据您的安装可能有所不同,选中"设置扩展状态为允许";

3.使用文本编辑器打开C:\Windows\System32\inetsrv\MetaBase.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压缩.

(0)

相关推荐

  • Win2003+IIS 6.0下启用压缩技术精简网站体积的方法

    一.HTTP压缩概述 HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法.HTTP压缩采用通用的压缩算法如gzip等压缩HTML.JavaScript或 CSS文件.压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度.当然,同时也会增加一点点服务器的负担.Gzip是比较常见的 一种HTTP压缩算法. 二.HTTP压缩工作原理 Web服务器处理HTTP压缩的工作原理如下: 1.Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩: 在用户浏览器发

  • iis 7.5 下站点日志开启以及默认位置设置方法

    在iis6时,通过iis管理器的日志配置可以找到站点日志存储的位置. 但是在iis7下,iis管理器下的日志配置只能找到iis日志配置的主目录,但到底在哪个子目录,则无法直接获知. 先定位到网站 后来在主日志目录下,发现子目录名字比较有规律:W3SVC + 数字,联想到iis的站点配置文件中,每个站点会被分配一个ID,后边的数字应该是对应站点的ID.根据猜想,打开目录中的日志文件查看,得到印证. 站点配置文件通常位于: C:\Windows\System32\inetsrv\config\app

  • Linux下查看压缩文件内容的10种方法(小结)

    通常来说,我们查看归档或压缩文件的内容,需要先进行解压缩,然后再查看,比较麻烦.今天给大家介绍 10 不同方法,能够让你轻松地在未解压缩的情况下查看归档或压缩文件的内容. 从技术上讲,查看归档或压缩文件不提前进行解压是不可能的.本文介绍的方法中会将这些压缩文件在后台一个临时目录 /tmp 中进行解压缩.重启系统后,/tmp 目录的内容将被清空. 在进一步讨论之前,这里先解释一下归档和压缩文件. 归档 是将多个文件或文件夹组合成一个文件的过程.在这种情况下,生成的文件没有被压缩. 压缩 是一种将多

  • Win2003 IIS 6.0 假死问题解决方法 图文教程

    问题的原因最终找到两个: 1.采用的jet 数据库连接方式存在问题:http://support.microsoft.com/?id=838306 补丁文件 中文版:WindowsServer2003-KB838306-x86-chs.exe 英文版:WindowsServer2003-KB838306-x86-enu.exe 2.将 Access 数据库扩展名改为 asp 下面是差错过程和解决方案: 搜索一下发现类似问题还真不少,那个w3wp的进程是iis6.0的应用程序池,网上的说法有两种,

  • win2003 IIS 6.0实现全站https访问的配置方法

    全站通过https访问前,请先确认网站各页面能正常通过https访问,若网站中不安全元素没有解决(即网站中仍存在外部的图片.js.css等链接),则强制全站https访问后会造成部分页面显示异常. 具体实现办法: 1.打开IIS管理器,找到需要配置SSL证书的站点,右键属性. 2.选择"目录安全性",在"安全通信"区域点击"编辑". 3.勾选"要求安全通道(SSl)",确定完成. 4.修改IIS403文件. 路径:C:\WIN

  • getAsDataURL在Firefox7.0下无法预览本地图片的解决方法

    用uchome普通上传来举例,取原代码:return obj.files.item(0).getAsDataURL(); 升级到Firefox7.0后,需要改为:return window.URL.createObjectURL(obj.files[0]); 实际上就是Firefox7.0废弃了item属性.

  • win2003 服务器 安全设置 技术实例(比较安全的方法)

    1.服务器安全设置之--硬盘权限篇 这里着重谈需要的权限,也就是最终文件夹或硬盘需要的权限,可以防御各种木马入侵,提权攻击,跨站攻击等.本实例经过多次试验,安全性能很好,服务器基本没有被木马威胁的担忧了. 硬盘或文件夹: C:\ D:\ E:\ F:\ 类推 主要权限部分: 其他权限部分: Administrators 完全控制 无如果安装了其他运行环境,比如PHP等,则根据PHP的环境功能要求来设置硬盘权限,一般是安装目录加上users读取运行权限就足够了,比如c:\php的话,就在根目录权限

  • IIS 6.0的web园 最大工作进程数

    IIS 6.0允许将应用程序池配置成一个Web园(Web Garden).要理解Web园的概念,可以设想这样一种情形:假设有一个IIS 5.0服务器和三个Web网站,每一个Web网站运行着相同的应用程序,如果IIS 5.0能够自动按照圆形循环的模式将请求依次发送给这些功能上等价.实际上分离的Web网站,将负载分离到三个不同的进程,就可以构成一个小型的Web农场(Web Farm)--这就是Web园. 在IIS 6.0的Web园中,我们不必创建额外的Web网站,只要指定用于某个应用程序池的工作进程

  • win2008下IIS 7.0安装配置教程

    在windows2008下安装IIS 7.0,一共7个步骤. 步骤 启动服务器管理器点击开始菜单->所有程序->管理工具->服务器管理器,启动服务器管理器,界面如下: 增加一个服务器角色 在服务器管理器中,选择角色,你将可以看到角色总视图. 启动添加角色向导点击添加角色,会启动添加角色向导,点击下一步然后选择要安装的角色. 选择安装Web服务器(IIS)角色 选中Web服务器(IIS) 依赖于Windows进程激活服务(WAS)的Web服务器角色 添加角色向导会针对任何需要的依赖关系向你

  • Win7下如何搭建IIS 7.0服务

    弄了好长时间,终于把IIS及PHP的服务器搭建好了,下面我讲讲我自己的搭建过程. 分两步:搭建IIS 7,搭建php. 首先介绍一下在Windows 7 下怎么搭建IIS 7.0服务. 1.单击开始菜单-->控制面板-->程序和功能-->左侧"打开或关闭Windows功能".如下图: 2.选择Internet信息服务,选择需要的功能.单击确定按钮,等待系统配置.如图所示: 3.重新进入控制面板-->管理工具-->Internet信息服务(IIS)管理器.如

随机推荐