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


Posted in PHP onJune 08, 2014

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; //返回压缩的内容,或者说把压缩好的饼干送回工作台。
}
PHP 相关文章推荐
在线短消息收发的程序,不用数据库
Oct 09 PHP
PHP Header用于页面跳转要注意的几个问题总结
Oct 03 PHP
php执行sql语句的写法
Mar 10 PHP
php+mysql事务rollback&commit示例
Feb 08 PHP
PHP中include()与require()的区别说明
Mar 10 PHP
PHP网站备份程序代码分享
Jun 10 PHP
php截取html字符串及自动补全html标签的方法
Jan 15 PHP
最准确的php截取字符串长度函数
Oct 29 PHP
php 运算符与表达式详细介绍
Nov 30 PHP
PHP实现的数独求解问题示例
Apr 18 PHP
PHP crypt()函数的用法讲解
Feb 15 PHP
php抽象方法和普通方法的区别点总结
Oct 13 PHP
PHP获取中英混合字符串长度的方法
Jun 07 #PHP
使用PHP破解防盗链图片的一个简单方法
Jun 07 #PHP
PHP防止post重复提交数据的简单例子
Jun 07 #PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
Jun 06 #PHP
php 判断网页是否是utf8编码的方法
Jun 06 #PHP
PHP实现的博客欢迎提示功能(很特别哦)
Jun 05 #PHP
php中数字0和空值的区别分析
Jun 05 #PHP
You might like
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
咖啡因含量是由谁决定的?低因咖啡怎么来?低因咖啡适合什么人喝
2021/03/06 新手入门
php上传文件并存储到mysql数据库的方法
2015/03/16 PHP
PHP生成plist数据的方法
2015/06/16 PHP
ThinkPHP中数据操作案例分析
2015/09/27 PHP
php验证码生成代码
2015/11/11 PHP
PHP生成静态HTML文档实现代码
2016/06/23 PHP
PHP基于SPL实现的迭代器模式示例
2018/04/22 PHP
用倒置滤镜把div倒置,再把table倒置。
2007/07/31 Javascript
一个jquery实现的不错的多行文字图片滚动效果
2014/09/28 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
2015/08/21 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
Vue.js中数据绑定的语法教程
2017/06/02 Javascript
Vue.js实现价格计算器功能
2020/03/30 Javascript
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
js中let能否完全替代IIFE
2019/06/15 Javascript
[04:11]2014DOTA2国际邀请赛 CIS遗憾出局梦想不灭
2014/07/09 DOTA
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
[06:45]DOTA2-DPC中国联赛 正赛 Magma vs LBZS 选手采访
2021/03/11 DOTA
使用Python获取Linux系统的各种信息
2014/07/10 Python
python的类变量和成员变量用法实例教程
2014/08/25 Python
python列表操作实例
2015/01/14 Python
Bottle框架中的装饰器类和描述符应用详解
2017/10/28 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
2018/07/06 Python
Python QQBot库的QQ聊天机器人
2019/06/19 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
Python数据分析pandas模块用法实例详解
2019/11/20 Python
vscode写python时的代码错误提醒和自动格式化的方法
2020/05/07 Python
paramiko使用tail实时获取服务器的日志输出详解
2020/12/06 Python
CSS3制作彩色进度条样式的代码示例分享
2016/06/23 HTML / CSS
canvas绘制圆角头像的实现方法
2019/01/17 HTML / CSS
Osklen官方在线商店:巴西服装品牌
2019/04/25 全球购物
音乐表演专业毕业生求职信
2013/10/14 职场文书
市场营销专业自荐书
2014/06/10 职场文书
SpringBoot全局异常处理方案分享
2022/05/25 Java/Android
使用CSS实现音波加载效果
2023/05/07 HTML / CSS