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 相关文章推荐
第五节--克隆
Nov 16 PHP
PHP+SQL 注入攻击的技术实现以及预防办法
Dec 29 PHP
PHP二维数组的去重问题解析
Jul 17 PHP
用PHP代替JS玩转DOM的思路及示例代码
Jun 15 PHP
PHP连接sql server 2005环境配置及问题解决
Aug 08 PHP
在Win7 中为php扩展配置Xcache
Oct 08 PHP
php单文件版在线代码编辑器
Mar 12 PHP
Yii清理缓存的方法
Jan 06 PHP
PHP简单判断手机设备的方法
Aug 23 PHP
PHP常量define和const的区别详解
May 18 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
Sep 03 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
Dec 11 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
PHP与javascript的两种交互方式
2006/10/09 PHP
6种php上传图片重命名的方法实例
2013/11/04 PHP
php网页病毒清除类
2014/12/08 PHP
PHP 7.0.2 正式版发布
2016/01/08 PHP
PHP类型约束用法示例
2016/09/28 PHP
PHP中的自动加载操作实现方法详解
2019/08/06 PHP
Javascript 解疑
2009/11/11 Javascript
ExtJS TabPanel beforeremove beforeclose使用说明
2010/03/31 Javascript
Dom与浏览器兼容性说明
2010/10/25 Javascript
原生js实现给指定元素的后面追加内容
2013/04/10 Javascript
toggle()隐藏问题的解决方法
2014/02/17 Javascript
用简洁的jQuery方法toggleClass实现隔行换色
2014/10/22 Javascript
jQuery制作可自定义大小的拼图游戏
2015/03/30 Javascript
jQuery模拟原生态App上拉刷新下拉加载更多页面及原理
2015/08/10 Javascript
详解JavaScript编程中正则表达式的使用
2015/10/25 Javascript
D3.js实现柱状图的方法详解
2016/09/21 Javascript
详解react-webpack2-热模块替换[HMR]
2017/08/03 Javascript
js中Generator函数的深入讲解
2019/04/07 Javascript
浅析微信小程序modal弹窗关闭默认会执行cancel问题
2019/10/14 Javascript
JavaScript运动原理基础知识详解
2020/04/02 Javascript
9个JavaScript日常开发小技巧
2020/10/06 Javascript
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
[09:40]DAC2018 4.5 SOLO赛 MidOne vs Miracle
2018/04/06 DOTA
Python解析json时提示“string indices must be integers”问题解决方法
2019/07/31 Python
python之MSE、MAE、RMSE的使用
2020/02/24 Python
keras的siamese(孪生网络)实现案例
2020/06/12 Python
CSS3不透明度实例讲解
2016/04/26 HTML / CSS
详解HTML5布局和HTML5标签
2020/10/26 HTML / CSS
英国最大的美妆产品在线零售商之一:Beauty Bay
2017/09/29 全球购物
高二英语教学反思
2014/01/19 职场文书
秋季开学典礼主持词
2014/03/19 职场文书
亲属关系公证书
2014/04/08 职场文书
关于对大人不礼貌的检讨书
2014/09/29 职场文书
幼儿园中秋节活动总结
2015/03/23 职场文书
《普罗米修斯》教学反思
2016/02/22 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书