1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8 <title>mod_deflate - Apache HTTP Server Version 2.5</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
12 <script src="../style/scripts/prettify.min.js" type="text/javascript">
15 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
17 <div id="page-header">
18 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
19 <p class="apache">Apache HTTP Server Version 2.5</p>
20 <img alt="" src="../images/feather.gif" /></div>
21 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
23 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
24 <div id="page-content">
25 <div id="preamble"><h1>Apache Module mod_deflate</h1>
27 <p><span>Available Languages: </span><a href="../en/mod/mod_deflate.html" title="English"> en </a> |
28 <a href="../fr/mod/mod_deflate.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
29 <a href="../ja/mod/mod_deflate.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
30 <a href="../ko/mod/mod_deflate.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
32 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Compress content before it is delivered to the
34 <tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr>
35 <tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>deflate_module</td></tr>
36 <tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_deflate.c</td></tr></table>
39 <p>The <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> module provides
40 the <code>DEFLATE</code> output filter that allows output from
41 your server to be compressed before being sent to the client over
44 <div id="quickview"><h3>Topics</h3>
46 <li><img alt="" src="../images/down.gif" /> <a href="#recommended">Sample Configurations</a></li>
47 <li><img alt="" src="../images/down.gif" /> <a href="#enable">Enabling Compression</a></li>
48 <li><img alt="" src="../images/down.gif" /> <a href="#proxies">Dealing with proxy servers</a></li>
49 <li><img alt="" src="../images/down.gif" /> <a href="#precompressed">Serving pre-compressed
51 </ul><h3 class="directives">Directives</h3>
53 <li><img alt="" src="../images/down.gif" /> <a href="#deflatealteretag">DeflateAlterETag</a></li>
54 <li><img alt="" src="../images/down.gif" /> <a href="#deflatebuffersize">DeflateBufferSize</a></li>
55 <li><img alt="" src="../images/down.gif" /> <a href="#deflatecompressionlevel">DeflateCompressionLevel</a></li>
56 <li><img alt="" src="../images/down.gif" /> <a href="#deflatefilternote">DeflateFilterNote</a></li>
57 <li><img alt="" src="../images/down.gif" /> <a href="#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody</a></li>
58 <li><img alt="" src="../images/down.gif" /> <a href="#deflateinflateratioburst">DeflateInflateRatioBurst</a></li>
59 <li><img alt="" src="../images/down.gif" /> <a href="#deflateinflateratiolimit">DeflateInflateRatioLimit</a></li>
60 <li><img alt="" src="../images/down.gif" /> <a href="#deflatememlevel">DeflateMemLevel</a></li>
61 <li><img alt="" src="../images/down.gif" /> <a href="#deflatewindowsize">DeflateWindowSize</a></li>
65 <li><a href="../filter.html">Filters</a></li>
66 </ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
67 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
69 <h2><a name="recommended" id="recommended">Sample Configurations</a></h2>
70 <div class="warning"><h3>Compression and TLS</h3>
71 <p>Some web applications are vulnerable to an information disclosure
72 attack when a TLS connection carries deflate compressed data. For more
73 information, review the details of the "BREACH" family of attacks.</p>
75 <p>This is a simple configuration that compresses common text-based content types.</p>
77 <div class="example"><h3>Compress only a few types</h3><pre class="prettyprint lang-config">AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript</pre>
80 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
82 <h2><a name="enable" id="enable">Enabling Compression</a></h2>
83 <div class="warning"><h3>Compression and TLS</h3>
84 <p>Some web applications are vulnerable to an information disclosure
85 attack when a TLS connection carries deflate compressed data. For more
86 information, review the details of the "BREACH" family of attacks.</p>
89 <h3><a name="output" id="output">Output Compression</a></h3>
90 <p>Compression is implemented by the <code>DEFLATE</code>
91 <a href="../filter.html">filter</a>. The following directive
92 will enable compression for documents in the container where it
95 <pre class="prettyprint lang-config">SetOutputFilter DEFLATE
96 SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip</pre>
99 <p>If you want to restrict the compression to particular MIME types
100 in general, you may use the <code class="directive"><a href="../mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code> directive. Here is an example of
101 enabling compression only for the html files of the Apache
104 <pre class="prettyprint lang-config"><Directory "/your-server-root/manual">
105 AddOutputFilterByType DEFLATE text/html
106 </Directory></pre>
109 <div class="note"><h3>Note</h3>
110 The <code>DEFLATE</code> filter is always inserted after RESOURCE
111 filters like PHP or SSI. It never touches internal subrequests.
113 <div class="note"><h3>Note</h3>
114 There is an environment variable <code>force-gzip</code>,
115 set via <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code>, which
116 will ignore the accept-encoding setting of your browser and will
117 send compressed output.
121 <h3><a name="inflate" id="inflate">Output Decompression</a></h3>
122 <p>The <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> module also provides a filter for
123 inflating/uncompressing a gzip compressed response body. In order to activate
124 this feature you have to insert the <code>INFLATE</code> filter into
125 the output filter chain using <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code> or <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>, for example:</p>
127 <pre class="prettyprint lang-config"><Location "/dav-area">
128 ProxyPass "http://example.com/"
129 SetOutputFilter INFLATE
130 </Location></pre>
133 <p>This Example will uncompress gzip'ed output from example.com, so other
134 filters can do further processing with it.
138 <h3><a name="input" id="input">Input Decompression</a></h3>
139 <p>The <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> module also provides a filter for
140 decompressing a gzip compressed request body . In order to activate
141 this feature you have to insert the <code>DEFLATE</code> filter into
142 the input filter chain using <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code> or <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>, for example:</p>
144 <pre class="prettyprint lang-config"><Location "/dav-area">
145 SetInputFilter DEFLATE
146 </Location></pre>
149 <p>Now if a request contains a <code>Content-Encoding:
150 gzip</code> header, the body will be automatically decompressed.
151 Few browsers have the ability to gzip request bodies. However,
152 some special applications actually do support request
153 compression, for instance some <a href="http://www.webdav.org">WebDAV</a> clients.</p>
155 <div class="warning"><h3>Note on Content-Length</h3>
156 <p>If you evaluate the request body yourself, <em>don't trust
157 the <code>Content-Length</code> header!</em>
158 The Content-Length header reflects the length of the
159 incoming data from the client and <em>not</em> the byte count of
160 the decompressed data stream.</p>
163 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
164 <div class="section">
165 <h2><a name="proxies" id="proxies">Dealing with proxy servers</a></h2>
167 <p>The <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> module sends a <code>Vary:
168 Accept-Encoding</code> HTTP response header to alert proxies that
169 a cached response should be sent only to clients that send the
170 appropriate <code>Accept-Encoding</code> request header. This
171 prevents compressed content from being sent to a client that will
172 not understand it.</p>
174 <p>If you use some special exclusions dependent
175 on, for example, the <code>User-Agent</code> header, you must
176 manually configure an addition to the <code>Vary</code> header
177 to alert proxies of the additional restrictions. For example,
178 in a typical configuration where the addition of the <code>DEFLATE</code>
179 filter depends on the <code>User-Agent</code>, you should add:</p>
181 <pre class="prettyprint lang-config">Header append Vary User-Agent</pre>
184 <p>If your decision about compression depends on other information
185 than request headers (<em>e.g.</em> HTTP version), you have to set the
186 <code>Vary</code> header to the value <code>*</code>. This prevents
187 compliant proxies from caching entirely.</p>
189 <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">Header set Vary *</pre>
191 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
192 <div class="section">
193 <h2><a name="precompressed" id="precompressed">Serving pre-compressed
196 <p>Since <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> re-compresses content each
197 time a request is made, some performance benefit can be derived by
198 pre-compressing the content and telling mod_deflate to serve them
199 without re-compressing them. This may be accomplished using a
200 configuration like the following:</p>
202 <pre class="prettyprint lang-config"><IfModule mod_headers.c>
203 # Serve gzip compressed CSS files if they exist
204 # and the client accepts gzip.
205 RewriteCond %{HTTP:Accept-encoding} gzip
206 RewriteCond %{REQUEST_FILENAME}\.gz -s
207 RewriteRule ^(.*)\.css $1\.css\.gz [QSA]
209 # Serve gzip compressed JS files if they exist
210 # and the client accepts gzip.
211 RewriteCond %{HTTP:Accept-encoding} gzip
212 RewriteCond %{REQUEST_FILENAME}\.gz -s
213 RewriteRule ^(.*)\.js $1\.js\.gz [QSA]
216 # Serve correct content types, and prevent mod_deflate double gzip.
217 RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1]
218 RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1]
221 <FilesMatch "(\.js\.gz|\.css\.gz)$">
222 # Serve correct encoding type.
223 Header append Content-Encoding gzip
225 # Force proxies to cache gzipped &
226 # non-gzipped css/js files separately.
227 Header append Vary Accept-Encoding
229 </IfModule></pre>
233 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
234 <div class="directive-section"><h2><a name="DeflateAlterETag" id="DeflateAlterETag">DeflateAlterETag</a> <a name="deflatealteretag" id="deflatealteretag">Directive</a></h2>
235 <table class="directive">
236 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>How the outgoing ETag header should be modified during compression</td></tr>
237 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateAlterETag AddSuffix|NoChange|Remove</code></td></tr>
238 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DeflateAlterETag AddSuffix</code></td></tr>
239 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
240 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
241 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr>
243 <p>The <code class="directive">DeflateAlterETag</code> directive specifies
244 how the ETag hader should be altered when a response is compressed.</p>
247 <dd><p>Append the compression method onto the end of the ETag, causing
248 compressed and uncompressed representations to have unique ETags.
249 This has been the default since 2.4.0, but prevents serving
250 "HTTP Not Modified" (304) responses to conditional requests for
251 compressed content.</p></dd>
253 <dd><p>Don't change the ETag on a compressed response. This was the default
254 prior to 2.4.0, but does not satisfy the HTTP/1.1 property that all
255 representations of the same resource have unique ETags. </p></dd>
257 <dd><p>Remove the ETag header from compressed responses. This prevents
258 some conditional requests from being possible, but avoids the
259 shortcomings of the preceding options. </p></dd>
263 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
264 <div class="directive-section"><h2><a name="DeflateBufferSize" id="DeflateBufferSize">DeflateBufferSize</a> <a name="deflatebuffersize" id="deflatebuffersize">Directive</a></h2>
265 <table class="directive">
266 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fragment size to be compressed at one time by zlib</td></tr>
267 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateBufferSize <var>value</var></code></td></tr>
268 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DeflateBufferSize 8096</code></td></tr>
269 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
270 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
271 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr>
273 <p>The <code class="directive">DeflateBufferSize</code> directive specifies
274 the size in bytes of the fragments that zlib should compress at one
278 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
279 <div class="directive-section"><h2><a name="DeflateCompressionLevel" id="DeflateCompressionLevel">DeflateCompressionLevel</a> <a name="deflatecompressionlevel" id="deflatecompressionlevel">Directive</a></h2>
280 <table class="directive">
281 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>How much compression do we apply to the output</td></tr>
282 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateCompressionLevel <var>value</var></code></td></tr>
283 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Zlib's default</code></td></tr>
284 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
285 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
286 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr>
288 <p>The <code class="directive">DeflateCompressionLevel</code> directive specifies
289 what level of compression should be used, the higher the value,
290 the better the compression, but the more CPU time is required to
292 <p>The value must between 1 (less compression) and 9 (more compression).</p>
295 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
296 <div class="directive-section"><h2><a name="DeflateFilterNote" id="DeflateFilterNote">DeflateFilterNote</a> <a name="deflatefilternote" id="deflatefilternote">Directive</a></h2>
297 <table class="directive">
298 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Places the compression ratio in a note for logging</td></tr>
299 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateFilterNote [<var>type</var>] <var>notename</var></code></td></tr>
300 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
301 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
302 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr>
304 <p>The <code class="directive">DeflateFilterNote</code> directive
305 specifies that a note about compression ratios should be attached
306 to the request. The name of the note is the value specified for
307 the directive. You can use that note for statistical purposes by
308 adding the value to your <a href="../logs.html#accesslog">access log</a>.</p>
310 <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"> DeflateFilterNote ratio
312 LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate
313 CustomLog logs/deflate_log deflate</pre>
316 <p>If you want to extract more accurate values from your logs, you
317 can use the <var>type</var> argument to specify the type of data
318 left as a note for logging. <var>type</var> can be one of:</p>
321 <dt><code>Input</code></dt>
322 <dd>Store the byte count of the filter's input stream in the note.</dd>
324 <dt><code>Output</code></dt>
325 <dd>Store the byte count of the filter's output stream in the note.</dd>
327 <dt><code>Ratio</code></dt>
328 <dd>Store the compression ratio (<code>output/input * 100</code>)
329 in the note. This is the default, if the <var>type</var> argument
333 <p>Thus you may log it this way:</p>
335 <div class="example"><h3>Accurate Logging</h3><pre class="prettyprint lang-config">DeflateFilterNote Input instream
336 DeflateFilterNote Output outstream
337 DeflateFilterNote Ratio ratio
339 LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
340 CustomLog logs/deflate_log deflate</pre>
345 <li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li>
348 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
349 <div class="directive-section"><h2><a name="DeflateInflateLimitRequestBody" id="DeflateInflateLimitRequestBody">DeflateInflateLimitRequestBody</a> <a name="deflateinflatelimitrequestbody" id="deflateinflatelimitrequestbody">Directive</a></h2>
350 <table class="directive">
351 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum size of inflated request bodies</td></tr>
352 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateInflateLimitRequestBody<var>value</var></code></td></tr>
353 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>None, but LimitRequestBody applies after deflation</code></td></tr>
354 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
355 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
356 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr>
357 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.10 and later</td></tr>
359 <p>The <code class="directive">DeflateInflateLimitRequestBody</code> directive
360 specifies the maximum size of an inflated request body. If it is unset,
361 <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code> is applied to the
365 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
366 <div class="directive-section"><h2><a name="DeflateInflateRatioBurst" id="DeflateInflateRatioBurst">DeflateInflateRatioBurst</a> <a name="deflateinflateratioburst" id="deflateinflateratioburst">Directive</a></h2>
367 <table class="directive">
368 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of times the inflation ratio for request bodies
369 can be crossed</td></tr>
370 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateInflateRatioBurst <var>value</var></code></td></tr>
371 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>3</code></td></tr>
372 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
373 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
374 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr>
375 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.10 and later</td></tr>
377 <p>The <code class="directive">DeflateInflateRatioBurst</code> directive
378 specifies the maximum number of times the
379 <code class="directive">DeflateInflateRatioLimit</code> can be crossed before
380 terminating the request.</p>
383 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
384 <div class="directive-section"><h2><a name="DeflateInflateRatioLimit" id="DeflateInflateRatioLimit">DeflateInflateRatioLimit</a> <a name="deflateinflateratiolimit" id="deflateinflateratiolimit">Directive</a></h2>
385 <table class="directive">
386 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum inflation ratio for request bodies</td></tr>
387 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateInflateRatioLimit <var>value</var></code></td></tr>
388 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>200</code></td></tr>
389 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
390 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
391 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr>
392 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.10 and later</td></tr>
394 <p>The <code class="directive">DeflateInflateRatioLimit</code> directive
395 specifies the maximum ratio of deflated to inflated size of an
396 inflated request body. This ratio is checked as the body is
397 streamed in, and if crossed more than
398 <code class="directive">DeflateInflateRatioBurst</code> times, the request
399 will be terminated.</p>
402 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
403 <div class="directive-section"><h2><a name="DeflateMemLevel" id="DeflateMemLevel">DeflateMemLevel</a> <a name="deflatememlevel" id="deflatememlevel">Directive</a></h2>
404 <table class="directive">
405 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>How much memory should be used by zlib for compression</td></tr>
406 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateMemLevel <var>value</var></code></td></tr>
407 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DeflateMemLevel 9</code></td></tr>
408 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
409 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
410 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr>
412 <p>The <code class="directive">DeflateMemLevel</code> directive specifies
413 how much memory should be used by zlib for compression
414 (a value between 1 and 9).</p>
417 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
418 <div class="directive-section"><h2><a name="DeflateWindowSize" id="DeflateWindowSize">DeflateWindowSize</a> <a name="deflatewindowsize" id="deflatewindowsize">Directive</a></h2>
419 <table class="directive">
420 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Zlib compression window size</td></tr>
421 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateWindowSize <var>value</var></code></td></tr>
422 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DeflateWindowSize 15</code></td></tr>
423 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
424 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
425 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr>
427 <p>The <code class="directive">DeflateWindowSize</code> directive specifies the
428 zlib compression window size (a value between 1 and 15). Generally, the
429 higher the window size, the higher can the compression ratio be expected.</p>
433 <div class="bottomlang">
434 <p><span>Available Languages: </span><a href="../en/mod/mod_deflate.html" title="English"> en </a> |
435 <a href="../fr/mod/mod_deflate.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
436 <a href="../ja/mod/mod_deflate.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
437 <a href="../ko/mod/mod_deflate.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
438 </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
439 <script type="text/javascript"><!--//--><![CDATA[//><!--
440 var comments_shortname = 'httpd';
441 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_deflate.html';
443 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
444 d.write('<div id="comments_thread"><\/div>');
445 var s = d.createElement('script');
446 s.type = 'text/javascript';
448 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
449 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
452 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
454 })(window, document);
455 //--><!]]></script></div><div id="footer">
456 <p class="apache">Copyright 2015 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
457 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
458 if (typeof(prettyPrint) !== 'undefined') {