使用htaccess进行GZIP压缩是否有任何限制?

时间:2015-01-30 15:26:06

标签: apache .htaccess compression gzip deflate

我们目前使用htaccess deflate命令设置GZIP压缩。我想知道是否有人会帮助我们理解以下内容......

使用htaccess进行放气是否存在任何潜在的问题,例如放气中的额外服务器应变?并且这适用于每日页面浏览量为1,200的网站,其中包含多个JS / CSS文件?

我们考虑过将GZIP文件与我们的内容一起托管,并在解压缩的文件发生变化时创建一个更新zip文件的脚本。但是,如果它没有带来自己的问题,那么下面代码的简单转储似乎要容易得多......

# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE font/ttf font/otf

提前感谢任何建议。

戴夫

2 个答案:

答案 0 :(得分:0)

它真的取决于你的放气。如果你有一个好的CPU,基于文本的文件(js,css等)的性能几乎没有。我还会包含mod_expires用于静态文件的缓存控制。如果您正在缓存大型动态文件,那么您可能会遇到性能损失。但是,您在当前规则中缓存的文本文件不应该产生很大的影响。

所以是的,你应该缓存你的文件以获得良好的用户体验,你可以在这里阅读。

https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/optimize-encoding-and-transfer

根据您所服务的内容,您可以在mod_deflate找到一些效果信息。

http://www.webperformance.com/library/reports/moddeflate/

我个人在我的静态内容上使用mod_deflate,我的网站加载速度非常快。我不认为您将使用它目前的问题。

答案 1 :(得分:0)

但是,我们说你在同一页面中嵌入了20个外部JS和10个CSS文件(这些日子里有很多网站),总共有31个文件(包括.html文件本身),他们平均每人说20KB。我猜这相当于服务器端的31个进程压缩所有文件,31个进程在客户端进行压缩所有文件(有人请确认)。

每天有1200个请求,这相当于服务器端的37,200个进程。我正在查看每个进程的CPU使用情况。在繁忙的服务器上,您可能会遇到麻烦。对于CSS,HTML和JS等静态ASCII文件,最好保留gizps的副本并在.htaccess文件中使用类似的内容:

<FilesMatch "\.css\.gz$">
   ForceType text/css
   AddEncoding gzip .gz
</FilesMatch>

<FilesMatch "\.html\.gz$">
    ForceType text/html
    AddEncoding gzip .gz
</FilesMatch>

RewriteEngine On
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule (.*\.(html|css))$ $1.gz [L]

这将服务于现有的gzip,而不是每天动态创建数千个gzip。您必须使用此方法创建gzip。