IIS6.0 开启Gzip方法及PHP Gzip函数分享

IIS 的 GZIP 压缩

1.首先备份 IIS 的配置文件, 复制 C:\Windows\system32\inetsrv\metabase.xml到另外的备份文件夹中.   C:\Windows\system32\inetsrv\metabase.xml是 IIS 的核心配置文件,该文件的完整性一但被破坏,IIS 将无法正常运行,严重到需要重新安装系统.

2. 在开始菜单中启动 Internet 信息服务(IIS)管理器,右键点击“网站”属性,打开“服务”选项卡,勾选“HTTP 压缩”的两个选项。“临时目录”和“临时目录最大容量”可根据需要自行设置。设置完成后点击确定。

3. 右键点击“网站”下方的 “Web服务扩展”,添加一个新的Web服务扩展,扩展名填写为“HTTP Compression”或其他,都可以。“要求的文件”添加:c:\windows\system32\inetsrv\gzip.dll ,并勾选“设置扩展状态为允许”,完成后点击确定。

4.下面的步骤有些复杂,如果没有确定的把握能理解,最好不要尝试,右键点击“Internet 信息服务的”“本地计算机”属性,勾选“允许直接编辑配置数据库”并确定。

5. 在开始菜单中运行 notepad C:\Windows\system32\inetsrv\metabase.xml ,打开metabase.xml 文件,请在任何改动前再次确认该文件已经备份。

6. 用文本编辑器打开metabase.xml ,用查找功能找到“IIsCompressionScheme”,共有3处,都在一起,分别是deflate、gzip和Parameters,deflate也是一种压缩格式,不过性能上不如gzip。需要修改的是deflate和gzip这两段,参数基本一样,都要修改。

HcDynamicCompressionLevel是用来设置压缩率,默认是0,最高是10。低压缩级别生成稍大一些的压缩文件,但对 CPU 和内存资源的总体影响较小。高压缩级别通常会生成较小的压缩文件,但会占用较多的 CPU 时间和内存。有人说设置成9性价比最高。

HcFileExtensions是用来设置压缩的静态文件扩展名,默认是htm、html、txt,根据网站的自身情况添加扩展名,最基本的是js、css。添加时注意原有的换行格式。

HcScriptFileExtensions是用来设置压缩的动态文件扩展名,默认是asp、dll和exe,根据需要自行添加扩展名,无外乎aspx、php等。可以将这一项的默认删除留空,这样所有的动态响应都以压缩方式发送。另外,还将动态压缩 HcFileExtensions 中所有未指定的静态文件类型,并且因此不将它们放入缓存。同样地,必须将 HcDoDynamicCompression 设置为 true,以进行动态压缩。

PHP Gzip

代码如下:

/*
* 压缩数据
*/
public static function ob_gzip($content) // $content 就是要压缩的页面内容,或者说饼干原料
{  
    if(    !headers_sent() && // 如果页面头部信息还没有输出
        extension_loaded("zlib") && // 而且zlib扩展已经加载到PHP中
        strstr($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip")) //而且浏览器说它可以接受GZIP的页面
    {
        $content = gzencode($content." OK",9); //此页已压缩”的注释标签,然后用zlib提供的gzencode()函数执行级别为9的压缩,这个参数值范围是0-9,0表示无压缩,9表示最大压缩,当然压缩程度越高越费CPU。

//然后用header()函数给浏览器发送一些头部信息,告诉浏览器这个页面已经用GZIP压缩过了!
        header("Content-Encoding: gzip");
        header("Vary: Accept-Encoding");
        header("Content-Length: ".strlen($content));
    }
        return $content; //返回压缩的内容,或者说把压缩好的饼干送回工作台。
}

(0)

相关推荐

  • IIS7下js文件启用Gzip后却不压缩的解决方法

    IIS7已经启用静态文件压缩(Gzip)但是死活不压缩,查找后发现是II7下MIME类型设置问题 将.js的MIME类型设置为application/javascript 再查看页面,已经启用了Gzip. 不过,几个天后又发现有的js文件被压缩,有的却没有 查找原因发现是引用js文件是没有设置type <script></script> <script src="A.js"></script> 加上type="text/java

  • IIS+FastCGI+PHP5.3+MySQL5.1+Gzip配置图文详细教程

    说明: 本帖是我经过一天一夜完成的,不同于一般网上文章,除详细的将整个配置过程和 测试过程都详细截图说明外,尤其在FastCGI方面采用微软的"web平台安装程序"来配置,网上相关内容很少,对gzip的设置也很详细,保证按图操 作即可独立完成.另外,还有详细的测试gzip压缩率的方法和比较. 文中对于理论几乎没有阐述,只是对配置过程进行了最详细的介绍,这样 使新手即使不太明白,照本文也可以配置出一样的环境来,本文章的错误及疏漏之处,还请大家指出来,大家在配置中有何问题,我们一起来探讨解

  • IIS启用GZip压缩的详细教程(图文)

    IIS启用GZip压缩,是提高网站速度和减轻服务器负载的一个优化手段和方法,经测试,网站启用GZip压缩后,速度快了3倍!而配置起来也相当的简单,因此被广大网站管理员使用.本文将详细介绍如何在IIS启用GZip压缩,同时解决可能遇到的一些问题. IIS启用GZip压缩的步骤: 1.打开IIS,右键点击"网站",选择"属性" 2.在打开的窗口里,切换到"服务"标签,然后选中"HTTP压缩"下面的两个选项,临时目录可以自己新建一个

  • 独立主机/VPS 一键开启IIS的GZIP方法

    Windows服务器设置方法: 下载地址:IIS6-SET-GZIP.rar 下载GZIP批处理文件,解压到任意位置,双击运行IIS6-SET-GZIP.cmd 即可迅速设置好GZIP. 特别提示若您的网站启用了CDN技术,则请勿开启gzip功能,否则会导致用户端访问为空白的情况,设置好后,可以通过http://tool.chinaz.com/Gzips/ 来测试压缩结果,如图: GZIP可以压缩静态htm\html\css\js\asp\aspx\php 等格式文件,根据格式不同文件包含的内容

  • IIS启用GZIP压缩js、css无效的原因及解决方法

    在卡卡网的网站速度诊断里的检测结果: html网页已经成功启用了GZip压缩 css文件未成功启用GZip压缩 后来研究发现,IIS启用GZip时默认压缩的只有html网页,如果需要压缩css.js等文件,还需要另外简单配置一个文件. 打开C:\WINDOWS\system32\inetsrv\MetaBase.xml这个文件,然后查找"IIsCompressionScheme",会发现有三段,后面那个不用管,只设置前面两个即可.其中,"/LM/W3SVC/Filters/C

  • 三步教你开启IIS的GZIP压缩功能

    HTTP压缩 HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法.HTTP压缩采用通用的压缩算法如GZIP等压缩HTML.JavaScript或CSS文件.压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度.当然,同时也会增加一点点服务器的负担.GZIP是比较常见的一种HTTP压缩算法. 部署方法 1. 打开Internet信息服务(IIS)管理器,右击"网站"->"属性",选择"服务".在"HTT

  • IIS启用Gzip的方法与优缺点分析

    现代的浏览器IE6和Firefox都支持客户端Gzip,也就是说,在服务器上的网页,传输之前,先使用Gzip压缩再传输给客户端,客户端接收之后由浏览器解压显示,这样虽然稍微占用了一些服务器和客户端的CPU,但是换来的是更高的带宽利用率.对于纯文本来讲,压缩率是相当可观的.如果每个用户节约50%的带宽,那么你租用来的那点带宽就可以服务多一倍的客户了. IIS6已经内建了Gzip压缩的支持,可惜,没有设置更好的管理界面.所以要打开这个选项,还要费些功夫. 首先,如果你需要压缩静态文件(HTML),需

  • IIS启用页面Gzip压缩实现说明

    HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法. HTTP压缩采用通用的压缩算法如gzip等压缩HTML.JavaScript或CSS文件. 压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度. 当然,同时也会增加一点点服务器的负担.Gzip是比较常见的一种HTTP压缩算法.本文介绍的HTTP压缩方式,采用的是Windows系统设置的方式,优点是效率较高. HTTP压缩工作原理 Web服务器处理HTTP压缩的工作原理如下: Web服务器接收到浏览器的HTTP请

  • IIS6.0中布署MVC站点的经验分享

    在网上找了一些文章,综合了几个,才终于搞定了. 服务器环境要求: Windows 2003 server + IIS6.0 1.必须安装.net framework 4.0, MVC 2.最好能安装.net framework 的sp1, 我们服务器上装的是.net framework 3.5 sp1和mvc3. IIS站点配置 1. 添加站点, 在站点上右击"属性",选择"主目录"选项卡, 点击"配置"按钮, 弹出一个窗口.目录浏览可以不用.

  • IIS6.0 开启Gzip方法及PHP Gzip函数分享

    IIS 的 GZIP 压缩 1.首先备份 IIS 的配置文件, 复制 C:\Windows\system32\inetsrv\metabase.xml到另外的备份文件夹中.   C:\Windows\system32\inetsrv\metabase.xml是 IIS 的核心配置文件,该文件的完整性一但被破坏,IIS 将无法正常运行,严重到需要重新安装系统. 2. 在开始菜单中启动 Internet 信息服务(IIS)管理器,右键点击"网站"属性,打开"服务"选项卡

  • Java去掉数字字符串开头的0三种方法(推荐)

    方式一: 例如:"0000123" (字符串必须全为数字) 处理过程: String tempStr = "0000123"; int result = Integer.parseInt(tempStr); result 结果:123 方式二: 例如:"0000123" 处理过程: String str = "0000123"; String newStr = str.replaceFirst("^0*",

  • Gzip压缩启用图文方法详细说明【IIS6.0、Apache】

    什么是Gzip?(已懂的请跳过) Gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序.最早由Jean-loup Gailly和Mark Adler创建,用于UNIX系统的文件压缩.我们在Linux中经常会用到后缀为.gz的文件,它们就是Gzip格式的.现今已经成为Internet上使用非常普遍的一种数据压缩格式,或者说一种文件格式.HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术.大流量的WEB站点常常使用Gzip压缩技术来让用户感受更快的速度.这一般是指WW

  • 从IIS6.0升级到IIS7.0日期格式调整方法整理

    将系统从IIS6.0平台升级导IIS7时(.netframework2.0 到4.0)操作系统WINSERVER2008时,有可能会遇到系统原本显示的日期格式被转化的问题 本人就遇到原本系统的日期格式是(yyyy-M-d) 结果平台升级后变成了(yyyy/M/d) 一下是从网上获取的解决方案,在此转载,以便记忆: ---------------- Win2008 IIS7日期格式更改方法 . 服务器从32位升级到64位的WIN2008,结果就出日期格式问题,首先想到的当然是到控制面板里面更改区域

  • MySQL8.0开启远程连接权限的方法步骤

    目录 问题描述: 报错原因: 解决方法: 总结 问题描述: 开发环境:MySQL8+Centos8: 执行MySQL语句:mysql -h 180.76.XXX.XX -u root -pPassword; 报错原因: ERROR 1130 (HY000): Host ‘180.76.XXX.XX’ is not allowed to connect to this MySQL server 解决方法: 首先,检查要连接数据库的服务器的防火墙等是否关闭,检查与服务器连接是否通畅(方法:在cmd控

  • iis6.0 应用程序不可用的解决方法

    一切配置好了,却发现应用程序不可用,真是非常郁闷; 第一种 重装iis后 1. 在iis6.0中web扩展服务中禁止asp.net v1.0 1. 没有加载asp.net v2.0, 在web扩展服务中添加.net asp v2.0. 名称随意,路径为: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,设置为允许; 对应的网站属性中 --> ASP.MET --> 选择 v2.0.50727; 2. 以上无效后, 建

  • IIS6.0 silverlight网站部署方法

    下面我们以一个利用ASP.net2.0 webservice访问后台数据,通过Linq链接SQLserver2005数据库的silverlight网站为例,来说明这些注意事项. 1.Windows2003安装IIS6.0后,默认80端口没有访问权限,需要在Windows防火墙内打开TCP的80端口,否则外网无法链接本机Web服务. 2.注意更改您的silverlight的"web引用"的URL,使其与你发布的真实域名一致,否则silverlight无法正确调用您的WebService(

  • 挖掘IIS6.0管理网站的新招

    尽管IIS6.0的推出已有一些时日,相信许多网民使用它管理各类网站已经烂熟于心,不过IIS6.0就像Windows操作系统一样深不见底,要是用力挖掘的话,还是能发现很多新应用技巧的,或许下面提供的几则管理网站的新技巧你并不熟悉. 尽管IIS6.0的推出已有一些时日,相信许多网民使用它管理各类网站已经烂熟于心,不过IIS6.0就像Windows操作系统一样深不见底,要是用力挖掘的话,还是能发现很多新应用技巧的,或许下面提供的几则管理网站的新技巧你并不熟悉. 1.阻止网站耗费太多内存资源 使用IIS

随机推荐