仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1872|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网页编程之PHP法式减速探究之紧缩输入gzip

[复制链接]
小妖女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:30:26 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
会有很多高手的鼓励,新手的支持,慢慢你劲头就十足,有更多的信心和兴趣去学。法式|紧缩       使用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函数需求耗用办事器内存,所以要慎用,视需求而定。  通过这段时间的学习实践,对软件开发有了更多新的认识,不在局限于之前的片面性。当然,现在所学到的东西其实并不多,离当一个真正的程序员,还有很大的差距。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-21 07:39

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表