|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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函数需求耗用办事器内存,所以要慎用,视需求而定。 通过这段时间的学习实践,对软件开发有了更多新的认识,不在局限于之前的片面性。当然,现在所学到的东西其实并不多,离当一个真正的程序员,还有很大的差距。 |
|