电脑安全

您当前的位置:主页 > 电脑安全 >

PHP程序加速探索之压缩输出gzip-网络编程

来源:[db:来源]标题:   浏览器    编辑:电脑技术全能网 时间:2019-09-18 16:50

原标题:PHP程序加速探索之压缩输出gzip-网络编程
   应用Apache中的mod_gzip模块,咱们能够应用gzip的紧缩算法来对Apache效劳器公布的网页内容停止紧缩后再传输到客户真个扫瞄器。假如是纯文本的内容,后果十分显明,大概能够紧缩到本来的30%-40%,应用户的扫瞄速率大大放慢。    Gzip须要客户端扫瞄器支撑,现在大部分扫瞄器都支撑gzip,如IE,Netscape,Mozilla等,以是这类方式值得一试。咱们能够应用PHP中的预约义变量$_SERVER['HTTP_ACCEPT_ENCODING’]来推断客户端扫瞄器能否支撑gzip。  gzip1.phpif(ereg('gzip',$_SERVER['HTTP_ACCEPT_ENCODING'])) {  //扫瞄器支撑} else {  //扫瞄器不支撑,输入别的内容 } ?>  接上去咱们对下面这个PHP顺序停止扩大,应用ob_start(ob_gzhandler)来将网页内容紧缩,存入缓冲并发送给支撑gzip的扫瞄器,扫瞄器会主动将紧缩后的内容解压,表现。  gzip2.phpdefine('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: gzipContent-Length: 270  假如你想失掉更具体的信息,请参看mod_gzip名目主页:  http://sourceforge.net/projects/mod-gzip/  相似地,咱们也能够应用mod_deflate,紧缩率比mod_gzip略低一些。挪用zip函数须要耗用效劳器内存,以是要慎用,视需要而定。