首 页 编程技术 网页设计 软件频道 系统维护 网络安全 范文大全 站长专区
首 页 编程技术 网页设计 软件频道 系统维护 网络安全 范文大全 站长专区
设为首页
加入收藏
联系我们
首 页 | ASP技术 | PHP技术 | NET技术 | JSP技术 | AJAX | C++ | JavaScript | HTML | | 布局配色 | MSSQL | MySQL | Access
DreamWeaver | FrontPage | Flash | PhotoShop | Firework | CorelDraw | 操作系统 | 办公软件 | 网络营销 | 搜索引擎 | 站长专区 | 服务器 | 范文大全 | 安全
首页 >> 新闻系统 >> 编程技术 >> php >> 正文
PHP程序加速探索之压缩输出gzip
发布日期:[08-03-20 08:54:02] 点击次数:[]
 利用Apache中的mod_gzip模块,我们可以利用gzip的压缩算法来对Apache服务器发布的网页内容进行压缩后再传输到客户端的浏览器。如果是纯文本的内容,效果非常明显,大约可以压缩到原来的30%-40%,使用户的浏览速度大大加快。

  Gzip需要客户端浏览器支持,目前大部份浏览器都支持gzip,如IE,Netscape,Mozilla等,所以这种方法值得一试。我们可以利用PHP中的预定义变量$_SERVER[‘HTTP_ACCEPT_ENCODING’]来判断客户端浏览器是否支持gzip。

  gzip1.php

if(ereg('gzip',$_SERVER['HTTP_ACCEPT_ENCODING'])) {
 //浏览器支持
} else {
 //浏览器不支持,输出其它内容
}
?>

  接下来我们对上面这个PHP程序进行扩展,使用ob_start(ob_gzhandler)来将网页内容压缩,存入缓冲并发送给支持gzip的浏览器,浏览器会自动将压缩后的内容解压,显示。

  gzip2.php

define('MAX',100);

if(ereg('gzip',$_SERVER['HTTP_ACCEPT_ENCODING']))
{
 //浏览器支持gzip,将内容压缩并缓冲输出
 ob_start("ob_gzhandler");
 $output = ';

 for($i=0;$i<=MAX;$i++)
 {
  $output .= "This is line $i ";
 }
 echo "浏览器支持gzip压缩输出";
 echo $output;
}
else
{
 //浏览器不支持,直接输出
 for($i=0;$i<=MAX;$i++)
 {
  $output .= "This is line $i ";
 }

 echo "浏览器不支持gzip压缩输出 ";
 echo $output;
}
?>

  使用gzip压缩生成的网页的HTTP头信息与一般的网页相比中会多出这样的信息:

Content-Encoding: gzip
Content-Length: 270

  如果你想得到更详细的信息,请参看mod_gzip项目主页:

  http://sourceforge.net/projects/mod-gzip/

  类似地,我们也可以利用mod_deflate,压缩率比mod_gzip略低一些。调用zip函数需要耗用服务器内存,所以要慎用,视需求而定。
上一篇:
下一篇:

热点文章

· 鼠年知运 2008年编程语言运势抢先
· Windows Server 2008新功能影响应
· 程序员的处世哲学:好酒不怕巷子
· 使用AJAX技术构建更优秀的Web应用
· 你的网站为什么粘不住流量? 
· SCA,软件开发的3G时代
· 浅谈网上教学的实践与探索
· 论IP电话在我国的发展
· 2008年最热门的七大IT软件技能
· 教你四招--轻松让你成为Excel函数
· WIN2000 SERVER安全配置服务器手
· WIN2000 SERVER安全配置服务器手
· Fireworks 8 混合模式详解2
· 浅谈网上教学的实践与探索
· 完整的Windows 2000服务配置

搜索引擎

网站留言 | 友情连接 | 广告服务 | 版权申明 | 合作伙伴 | 法律声明 | 人员招聘 | 网站简介 | 联系我们 | About Us
站内所有资源均收集于互联网,其版权属原作者所有。 E吧-中国IT门户欢迎你的光临!
赣ICP备07501208号