From: Rich Bowen Date: Tue, 14 Apr 2015 17:06:10 +0000 (+0000) Subject: Add "pre-compressed content" recipe, as per X-Git-Tag: 2.5.0-alpha~3313 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=34e37f4fc12763f8ee0f5086af595291cd75d60b;p=apache Add "pre-compressed content" recipe, as per https://bz.apache.org/bugzilla/show_bug.cgi?id=51336 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1673470 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/mod/mod_deflate.xml b/docs/manual/mod/mod_deflate.xml index afa4ca33ef..847210f458 100644 --- a/docs/manual/mod/mod_deflate.xml +++ b/docs/manual/mod/mod_deflate.xml @@ -178,6 +178,51 @@ SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip +
Serving pre-compressed +content + +

Since mod_deflate re-compresses content each + time a request is made, some performance benefit can be derived by + pre-compressing the content and telling mod_deflate to serve them + without re-compressing them. This may be accomplished using a + configuration like the following:

+ + + <IfModule mod_headers.c> + # Serve gzip compressed CSS files if they exist + # and the client accepts gzip. + RewriteCond %{HTTP:Accept-encoding} gzip + RewriteCond %{REQUEST_FILENAME}\.gz -s + RewriteRule ^(.*)\.css $1\.css\.gz [QSA] + + # Serve gzip compressed JS files if they exist + # and the client accepts gzip. + RewriteCond %{HTTP:Accept-encoding} gzip + RewriteCond %{REQUEST_FILENAME}\.gz -s + RewriteRule ^(.*)\.js $1\.js\.gz [QSA] + + + # Serve correct content types, and prevent mod_deflate double gzip. + RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1] + RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1] + + + <FilesMatch "(\.js\.gz|\.css\.gz)$"> + # Serve correct encoding type. + Header append Content-Encoding gzip + + # Force proxies to cache gzipped & + # non-gzipped css/js files separately. + Header append Vary Accept-Encoding + </FilesMatch> + </IfModule> + + + + + +
+ DeflateFilterNote Places the compression ratio in a note for logging