0

任何将 GZip 用于 HTML、JS、PHP 和 CSS 的人都可以解释如何在服务器上实现它吗?

我想知道的是:

  1. 我必须在 .htaccess 中写什么?
  2. 我必须下载什么以及从哪个来源下载?
  3. 最重要的是:它是否有所作为并有回报?
4

3 回答 3

2

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

阿帕奇 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

阿帕奇 2.0

AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/json   
Header append Vary Accept-Encoding
于 2010-07-01T20:27:11.593 回答
1

它确实得到了回报:作为明文的 HTML 页面通常可以被大量压缩,压缩率高达 90%。

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

如果您在共享托管服务器上,很可能它已经安装并打开。

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

于 2010-07-01T20:19:16.423 回答
0

它有回报吗?在某些情况下,打开压缩会更慢..

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

因此,客户端可以快速获取 head-section,它获取要加载的样式表和 JS 的信息并可以请求它们,而 PHP 脚本的其余部分仍在生成 HTML。

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

压缩仍然有很多积极的影响。

于 2010-07-01T20:30:43.220 回答