2013-06-20 22 views

回答

0

gzip压缩应该由服务器完成,因为服务器知道客户端是否能够解压缩数据。如果配置正确,Web服务器将为您处理透明。

在lighttpd的,你可以启用压缩这样的:

server.modules += ("mod_compress") 

compress.cache-dir = "/var/cache/lighttpd/compress/" # change this as you want 
compress.filetype = ( 
    "application/x-javascript", 
    "application/javascript", 
    "text/javascript", 
    "text/css", 
    "text/html", 
    "text/plain" 
) 

进一步信息,请参阅ModCompress in the lighttpd manual

+0

所以阿贾克斯Minfy工具不这样做,但我可以用你上面的脚本明确地做,如果我want..Do你知道IIS 7 – user505210

+0

脚本@ user505210它不处理它。您可以将上面的行添加到lighttpd.conf中以启用压缩(如果您明显使用lighttpd)。确保正确清理缓存文件夹,这不会自动完成。 – TimWolla

0

用gzip ING是在服务器端完成,这可以通过多种方式来完成:

  1. 自动使用你的服务器软件(请参阅您的Web服务器软件的文档)。
  2. 使用服务器端脚本,例如下面的PHP之一:

    <?php  
        header("Content-Encoding: gzip"); 
        echo gzencode($file_contents, 9); 
    ?> 
    

这个PHP示例首先设置gzip的内容编码报头,这指示浏览器解压缩的响应,然后输出该编码的文件内容(使用设置为9的高压缩级别)。欲了解更多信息,请参阅PHP documentation on gzip

+0

gzip压缩与'level = 9'没有缓存是非常糟糕的。 – TimWolla

+0

@TWWolla你可以在PHP中添加缓存标题或更改gzip级别。例如“标题(”Cache-Control:max-age = 2592000“);”持续30天。 –