任何将 GZip 用于 HTML、JS、PHP 和 CSS 的人都可以解释如何在服务器上实现它吗?
我想知道的是:
- 我必须在 .htaccess 中写什么?
- 我必须下载什么以及从哪个来源下载?
- 最重要的是:它是否有所作为并有回报?
任何将 GZip 用于 HTML、JS、PHP 和 CSS 的人都可以解释如何在服务器上实现它吗?
我想知道的是:
您需要在 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
它确实得到了回报:作为明文的 HTML 页面通常可以被大量压缩,压缩率高达 90%。
Gzipping 通常需要在您的中央服务器配置中激活,但不是.htaccess
.
如果您在共享托管服务器上,很可能它已经安装并打开。
使用类似 Firebug 的“网络”选项卡来找出答案。向服务器上的页面发出请求,然后单击打开文件视图。如果响应头包含Content-Encoding: gzip
,则 gzipping 已激活。
它有回报吗?在某些情况下,打开压缩会更慢..
当您打开压缩时,Apache 需要等待,直到所有 PHP 完成,然后再将任何内容发送到客户端。关闭压缩后,Apache 可以使用第一个 echo 语句开始发送。
因此,客户端可以快速获取 head-section,它获取要加载的样式表和 JS 的信息并可以请求它们,而 PHP 脚本的其余部分仍在生成 HTML。
因此,当您的 PHP 需要时间运行时,您很可能不应该激活压缩。
压缩仍然有很多积极的影响。