如何使用gzip

时间:2010-07-01 20:12:04

标签: performance apache .htaccess gzip deflate

任何使用GZip进行HTML,JS,PHP和CSS的人都可以解释如何在服务器上实现它吗?

我想知道的是:

  1. 我需要写什么.htaccess?
  2. 我必须下载什么以及从哪个来源下载?
  3. 最重要的是:它是否有所作为,是否会得到回报?

3 个答案:

答案 0 :(得分:2)

您需要在httpd.conf上启用mod_deflate或mod_gzip。之后,您应将以下行放入配置或.htaccess文件中。

Apache 1.3.x:

mod_gzip_on Yes  

mod_gzip_item_include mime ^application/x-javascript$  
mod_gzip_item_include mime ^application/json$  
mod_gzip_item_include mime ^text/.*$  

mod_gzip_item_include file \.html$  
mod_gzip_item_include file \.php$  
mod_gzip_item_include file \.js$  
mod_gzip_item_include file \.css$  
mod_gzip_item_include file \.txt$  
mod_gzip_item_include file \.xml$  
mod_gzip_item_include file \.json$  

Header append Vary Accept-Encoding

Apache 2.0

AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/json   
Header append Vary Accept-Encoding

答案 1 :(得分:1)

它确实有回报:HTML页面,即明文,通常可以大量压缩,最高可达90%。

通常需要在中央服务器配置中激活Gzipping,而不是.htaccess

如果您使用的是共享托管服务器,则可能已安装并已开启。

使用类似Firebug的“网络”标签查找。向服务器上的页面发出请求,然后单击打开文件视图。如果响应标头包含Content-Encoding: gzip,则gzipping已激活。

答案 2 :(得分:0)

它能否得到回报? 在某些情况下,打开压缩时情况会更慢......

当您打开压缩时,Apache需要等待所有PHP完成,然后才将任何内容发送到客户端。关闭压缩后,Apache可以使用第一个echo语句开始发送。

由于这个原因,客户端可能会快速得到头部,它可以获取样式表和JS加载的信息,并且可以请求它们,而PHP脚本的其余部分仍然生成HTML。

因此,当您的PHP需要时间运行时,您很可能不会激活压缩。

压缩还有很多正面影响。