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 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7 This file is generated from xml source: DO NOT EDIT
8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
10 <title>mod_deflate - Apache HTTP Server Version 2.5</title>
11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <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" />
14 <script src="../style/scripts/prettify.min.js" type="text/javascript">
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
19 <div id="page-header">
20 <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>
21 <p class="apache">Apache HTTP Server Version 2.5</p>
22 <img alt="" src="../images/feather.png" /></div>
23 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
25 <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>
26 <div id="page-content">
27 <div id="preamble"><h1>Apache Module mod_deflate</h1>
29 <p><span>Available Languages: </span><a href="../en/mod/mod_deflate.html" title="English"> en </a> |
30 <a href="../fr/mod/mod_deflate.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
31 <a href="../ja/mod/mod_deflate.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
32 <a href="../ko/mod/mod_deflate.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
34 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Compress content before it is delivered to the
36 <tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr>
37 <tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>deflate_module</td></tr>
38 <tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_deflate.c</td></tr></table>
41 <p>The <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> module provides
42 the <code>DEFLATE</code> output filter that allows output from
43 your server to be compressed before being sent to the client over
46 <div id="quickview"><h3>Topics</h3>
48 <li><img alt="" src="../images/down.gif" /> <a href="#supportedencodings">Supported Encodings</a></li>
49 <li><img alt="" src="../images/down.gif" /> <a href="#recommended">Sample Configurations</a></li>
50 <li><img alt="" src="../images/down.gif" /> <a href="#enable">Enabling Compression</a></li>
51 <li><img alt="" src="../images/down.gif" /> <a href="#proxies">Dealing with proxy servers</a></li>
52 <li><img alt="" src="../images/down.gif" /> <a href="#precompressed">Serving pre-compressed
54 </ul><h3 class="directives">Directives</h3>
56 <li><img alt="" src="../images/down.gif" /> <a href="#deflatealteretag">DeflateAlterETag</a></li>
57 <li><img alt="" src="../images/down.gif" /> <a href="#deflatebuffersize">DeflateBufferSize</a></li>
58 <li><img alt="" src="../images/down.gif" /> <a href="#deflatecompressionlevel">DeflateCompressionLevel</a></li>
59 <li><img alt="" src="../images/down.gif" /> <a href="#deflatefilternote">DeflateFilterNote</a></li>
60 <li><img alt="" src="../images/down.gif" /> <a href="#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody</a></li>
61 <li><img alt="" src="../images/down.gif" /> <a href="#deflateinflateratioburst">DeflateInflateRatioBurst</a></li>
62 <li><img alt="" src="../images/down.gif" /> <a href="#deflateinflateratiolimit">DeflateInflateRatioLimit</a></li>
63 <li><img alt="" src="../images/down.gif" /> <a href="#deflatememlevel">DeflateMemLevel</a></li>
64 <li><img alt="" src="../images/down.gif" /> <a href="#deflatewindowsize">DeflateWindowSize</a></li>
66 <h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_deflate">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_deflate">Report a bug</a></li></ul><h3>See also</h3>
68 <li><a href="../filter.html">Filters</a></li>
69 <li><a href="#comments_section">Comments</a></li></ul></div>
70 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
72 <h2><a name="supportedencodings" id="supportedencodings">Supported Encodings</a></h2>
73 <p>The <code>gzip</code> encoding is the only one supported to ensure complete compatibility
74 with old browser implementations. The <code>deflate</code> encoding is not supported,
75 please check the <a href="http://www.gzip.org/zlib/zlib_faq.html#faq38">zlib's documentation</a>
76 for a complete explanation.
78 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
80 <h2><a name="recommended" id="recommended">Sample Configurations</a></h2>
81 <div class="warning"><h3>Compression and TLS</h3>
82 <p>Some web applications are vulnerable to an information disclosure
83 attack when a TLS connection carries deflate compressed data. For more
84 information, review the details of the "BREACH" family of attacks.</p>
86 <p>This is a simple configuration that compresses common text-based content types.</p>
88 <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>
91 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
93 <h2><a name="enable" id="enable">Enabling Compression</a></h2>
94 <div class="warning"><h3>Compression and TLS</h3>
95 <p>Some web applications are vulnerable to an information disclosure
96 attack when a TLS connection carries deflate compressed data. For more
97 information, review the details of the "BREACH" family of attacks.</p>
100 <h3><a name="output" id="output">Output Compression</a></h3>
101 <p>Compression is implemented by the <code>DEFLATE</code>
102 <a href="../filter.html">filter</a>. The following directive
103 will enable compression for documents in the container where it
106 <pre class="prettyprint lang-config">SetOutputFilter DEFLATE
107 SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip</pre>
110 <p>If you want to restrict the compression to particular MIME types
111 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
112 enabling compression only for the html files of the Apache
115 <pre class="prettyprint lang-config"><Directory "/your-server-root/manual">
116 AddOutputFilterByType DEFLATE text/html
117 </Directory></pre>
120 <div class="note"><h3>Note</h3>
121 The <code>DEFLATE</code> filter is always inserted after RESOURCE
122 filters like PHP or SSI. It never touches internal subrequests.
124 <div class="note"><h3>Note</h3>
125 There is an environment variable <code>force-gzip</code>,
126 set via <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code>, which
127 will ignore the accept-encoding setting of your browser and will
128 send compressed output.
132 <h3><a name="inflate" id="inflate">Output Decompression</a></h3>
133 <p>The <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> module also provides a filter for
134 inflating/uncompressing a gzip compressed response body. In order to activate
135 this feature you have to insert the <code>INFLATE</code> filter into
136 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>
138 <pre class="prettyprint lang-config"><Location "/dav-area">
139 ProxyPass "http://example.com/"
140 SetOutputFilter INFLATE
141 </Location></pre>
144 <p>This Example will uncompress gzip'ed output from example.com, so other
145 filters can do further processing with it.
149 <h3><a name="input" id="input">Input Decompression</a></h3>
150 <p>The <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> module also provides a filter for
151 decompressing a gzip compressed request body . In order to activate
152 this feature you have to insert the <code>DEFLATE</code> filter into
153 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>
155 <pre class="prettyprint lang-config"><Location "/dav-area">
156 SetInputFilter DEFLATE
157 </Location></pre>
160 <p>Now if a request contains a <code>Content-Encoding:
161 gzip</code> header, the body will be automatically decompressed.
162 Few browsers have the ability to gzip request bodies. However,
163 some special applications actually do support request
164 compression, for instance some <a href="http://www.webdav.org">WebDAV</a> clients.</p>
166 <div class="warning"><h3>Note on Content-Length</h3>
167 <p>If you evaluate the request body yourself, <em>don't trust
168 the <code>Content-Length</code> header!</em>
169 The Content-Length header reflects the length of the
170 incoming data from the client and <em>not</em> the byte count of
171 the decompressed data stream.</p>
174 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
175 <div class="section">
176 <h2><a name="proxies" id="proxies">Dealing with proxy servers</a></h2>
178 <p>The <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> module sends a <code>Vary:
179 Accept-Encoding</code> HTTP response header to alert proxies that
180 a cached response should be sent only to clients that send the
181 appropriate <code>Accept-Encoding</code> request header. This
182 prevents compressed content from being sent to a client that will
183 not understand it.</p>
185 <p>If you use some special exclusions dependent
186 on, for example, the <code>User-Agent</code> header, you must
187 manually configure an addition to the <code>Vary</code> header
188 to alert proxies of the additional restrictions. For example,
189 in a typical configuration where the addition of the <code>DEFLATE</code>
190 filter depends on the <code>User-Agent</code>, you should add:</p>
192 <pre class="prettyprint lang-config">Header append Vary User-Agent</pre>
195 <p>If your decision about compression depends on other information
196 than request headers (<em>e.g.</em> HTTP version), you have to set the
197 <code>Vary</code> header to the value <code>*</code>. This prevents
198 compliant proxies from caching entirely.</p>
200 <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">Header set Vary *</pre>
202 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
203 <div class="section">
204 <h2><a name="precompressed" id="precompressed">Serving pre-compressed
207 <p>Since <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> re-compresses content each
208 time a request is made, some performance benefit can be derived by
209 pre-compressing the content and telling mod_deflate to serve them
210 without re-compressing them. This may be accomplished using a
211 configuration like the following:</p>
213 <pre class="prettyprint lang-config"><IfModule mod_headers.c>
214 # Serve gzip compressed CSS files if they exist
215 # and the client accepts gzip.
216 RewriteCond "%{HTTP:Accept-encoding}" "gzip"
217 RewriteCond "%{REQUEST_FILENAME}\.gz" "-s"
218 RewriteRule "^(.*)\.css" "$1\.css\.gz" [QSA]
220 # Serve gzip compressed JS files if they exist
221 # and the client accepts gzip.
222 RewriteCond "%{HTTP:Accept-encoding}" "gzip"
223 RewriteCond "%{REQUEST_FILENAME}\.gz" "-s"
224 RewriteRule "^(.*)\.js" "$1\.js\.gz" [QSA]
227 # Serve correct content types, and prevent mod_deflate double gzip.
228 RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-gzip:1]
229 RewriteRule "\.js\.gz$" "-" [T=text/javascript,E=no-gzip:1]
232 <FilesMatch "(\.js\.gz|\.css\.gz)$">
233 # Serve correct encoding type.
234 Header append Content-Encoding gzip
236 # Force proxies to cache gzipped &
237 # non-gzipped css/js files separately.
238 Header append Vary Accept-Encoding
240 </IfModule></pre>
244 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
245 <div class="directive-section"><h2><a name="DeflateAlterETag" id="DeflateAlterETag">DeflateAlterETag</a> <a name="deflatealteretag" id="deflatealteretag">Directive</a></h2>
246 <table class="directive">
247 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>How the outgoing ETag header should be modified during compression</td></tr>
248 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateAlterETag AddSuffix|NoChange|Remove</code></td></tr>
249 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DeflateAlterETag AddSuffix</code></td></tr>
250 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
251 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
252 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr>
254 <p>The <code class="directive">DeflateAlterETag</code> directive specifies
255 how the ETag hader should be altered when a response is compressed.</p>
258 <dd><p>Append the compression method onto the end of the ETag, causing
259 compressed and uncompressed representations to have unique ETags.
260 This has been the default since 2.4.0, but prevents serving
261 "HTTP Not Modified" (304) responses to conditional requests for
262 compressed content.</p></dd>
264 <dd><p>Don't change the ETag on a compressed response. This was the default
265 prior to 2.4.0, but does not satisfy the HTTP/1.1 property that all
266 representations of the same resource have unique ETags. </p></dd>
268 <dd><p>Remove the ETag header from compressed responses. This prevents
269 some conditional requests from being possible, but avoids the
270 shortcomings of the preceding options. </p></dd>
274 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
275 <div class="directive-section"><h2><a name="DeflateBufferSize" id="DeflateBufferSize">DeflateBufferSize</a> <a name="deflatebuffersize" id="deflatebuffersize">Directive</a></h2>
276 <table class="directive">
277 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fragment size to be compressed at one time by zlib</td></tr>
278 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateBufferSize <var>value</var></code></td></tr>
279 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DeflateBufferSize 8096</code></td></tr>
280 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
281 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
282 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr>
284 <p>The <code class="directive">DeflateBufferSize</code> directive specifies
285 the size in bytes of the fragments that zlib should compress at one
286 time. If the compressed response size is bigger than the one specified
287 by this directive then httpd will switch to chunked encoding
288 (HTTP header <code>Transfer-Encoding</code> set to <code>Chunked</code>), with the
289 side effect of not setting any <code>Content-Length</code> HTTP header. This is particularly
290 important when httpd works behind reverse caching proxies or when httpd is configured with
291 <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> and <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> because
292 HTTP responses without any <code>Content-Length</code> header might not be cached.
296 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
297 <div class="directive-section"><h2><a name="DeflateCompressionLevel" id="DeflateCompressionLevel">DeflateCompressionLevel</a> <a name="deflatecompressionlevel" id="deflatecompressionlevel">Directive</a></h2>
298 <table class="directive">
299 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>How much compression do we apply to the output</td></tr>
300 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateCompressionLevel <var>value</var></code></td></tr>
301 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Zlib's default</code></td></tr>
302 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
303 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
304 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr>
306 <p>The <code class="directive">DeflateCompressionLevel</code> directive specifies
307 what level of compression should be used, the higher the value,
308 the better the compression, but the more CPU time is required to
310 <p>The value must between 1 (less compression) and 9 (more compression).</p>
313 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
314 <div class="directive-section"><h2><a name="DeflateFilterNote" id="DeflateFilterNote">DeflateFilterNote</a> <a name="deflatefilternote" id="deflatefilternote">Directive</a></h2>
315 <table class="directive">
316 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Places the compression ratio in a note for logging</td></tr>
317 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateFilterNote [<var>type</var>] <var>notename</var></code></td></tr>
318 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
319 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
320 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr>
322 <p>The <code class="directive">DeflateFilterNote</code> directive
323 specifies that a note about compression ratios should be attached
324 to the request. The name of the note is the value specified for
325 the directive. You can use that note for statistical purposes by
326 adding the value to your <a href="../logs.html#accesslog">access log</a>.</p>
328 <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"> DeflateFilterNote ratio
330 LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate
331 CustomLog "logs/deflate_log" deflate</pre>
334 <p>If you want to extract more accurate values from your logs, you
335 can use the <var>type</var> argument to specify the type of data
336 left as a note for logging. <var>type</var> can be one of:</p>
339 <dt><code>Input</code></dt>
340 <dd>Store the byte count of the filter's input stream in the note.</dd>
342 <dt><code>Output</code></dt>
343 <dd>Store the byte count of the filter's output stream in the note.</dd>
345 <dt><code>Ratio</code></dt>
346 <dd>Store the compression ratio (<code>output/input * 100</code>)
347 in the note. This is the default, if the <var>type</var> argument
351 <p>Thus you may log it this way:</p>
353 <div class="example"><h3>Accurate Logging</h3><pre class="prettyprint lang-config">DeflateFilterNote Input instream
354 DeflateFilterNote Output outstream
355 DeflateFilterNote Ratio ratio
357 LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
358 CustomLog "logs/deflate_log" deflate</pre>
363 <li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li>
366 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
367 <div class="directive-section"><h2><a name="DeflateInflateLimitRequestBody" id="DeflateInflateLimitRequestBody">DeflateInflateLimitRequestBody</a> <a name="deflateinflatelimitrequestbody" id="deflateinflatelimitrequestbody">Directive</a></h2>
368 <table class="directive">
369 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum size of inflated request bodies</td></tr>
370 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateInflateLimitRequestBody<var>value</var></code></td></tr>
371 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>None, but LimitRequestBody applies after deflation</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">DeflateInflateLimitRequestBody</code> directive
378 specifies the maximum size of an inflated request body. If it is unset,
379 <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code> is applied to the
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="DeflateInflateRatioBurst" id="DeflateInflateRatioBurst">DeflateInflateRatioBurst</a> <a name="deflateinflateratioburst" id="deflateinflateratioburst">Directive</a></h2>
385 <table class="directive">
386 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of times the inflation ratio for request bodies
387 can be crossed</td></tr>
388 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateInflateRatioBurst <var>value</var></code></td></tr>
389 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>3</code></td></tr>
390 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
391 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
392 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr>
393 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.10 and later</td></tr>
395 <p>The <code class="directive">DeflateInflateRatioBurst</code> directive
396 specifies the maximum number of times the
397 <code class="directive">DeflateInflateRatioLimit</code> can be crossed before
398 terminating the request.</p>
401 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
402 <div class="directive-section"><h2><a name="DeflateInflateRatioLimit" id="DeflateInflateRatioLimit">DeflateInflateRatioLimit</a> <a name="deflateinflateratiolimit" id="deflateinflateratiolimit">Directive</a></h2>
403 <table class="directive">
404 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum inflation ratio for request bodies</td></tr>
405 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateInflateRatioLimit <var>value</var></code></td></tr>
406 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>200</code></td></tr>
407 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
408 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
409 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr>
410 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>2.4.10 and later</td></tr>
412 <p>The <code class="directive">DeflateInflateRatioLimit</code> directive
413 specifies the maximum ratio of deflated to inflated size of an
414 inflated request body. This ratio is checked as the body is
415 streamed in, and if crossed more than
416 <code class="directive">DeflateInflateRatioBurst</code> times, the request
417 will be terminated.</p>
420 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
421 <div class="directive-section"><h2><a name="DeflateMemLevel" id="DeflateMemLevel">DeflateMemLevel</a> <a name="deflatememlevel" id="deflatememlevel">Directive</a></h2>
422 <table class="directive">
423 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>How much memory should be used by zlib for compression</td></tr>
424 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateMemLevel <var>value</var></code></td></tr>
425 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DeflateMemLevel 9</code></td></tr>
426 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
427 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
428 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr>
430 <p>The <code class="directive">DeflateMemLevel</code> directive specifies
431 how much memory should be used by zlib for compression
432 (a value between 1 and 9).</p>
435 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
436 <div class="directive-section"><h2><a name="DeflateWindowSize" id="DeflateWindowSize">DeflateWindowSize</a> <a name="deflatewindowsize" id="deflatewindowsize">Directive</a></h2>
437 <table class="directive">
438 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Zlib compression window size</td></tr>
439 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DeflateWindowSize <var>value</var></code></td></tr>
440 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>DeflateWindowSize 15</code></td></tr>
441 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
442 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
443 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_deflate</td></tr>
445 <p>The <code class="directive">DeflateWindowSize</code> directive specifies the
446 zlib compression window size (a value between 1 and 15). Generally, the
447 higher the window size, the higher can the compression ratio be expected.</p>
451 <div class="bottomlang">
452 <p><span>Available Languages: </span><a href="../en/mod/mod_deflate.html" title="English"> en </a> |
453 <a href="../fr/mod/mod_deflate.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
454 <a href="../ja/mod/mod_deflate.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
455 <a href="../ko/mod/mod_deflate.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
456 </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>
457 <script type="text/javascript"><!--//--><![CDATA[//><!--
458 var comments_shortname = 'httpd';
459 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_deflate.html';
461 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
462 d.write('<div id="comments_thread"><\/div>');
463 var s = d.createElement('script');
464 s.type = 'text/javascript';
466 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
467 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
470 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
472 })(window, document);
473 //--><!]]></script></div><div id="footer">
474 <p class="apache">Copyright 2016 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>
475 <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[//><!--
476 if (typeof(prettyPrint) !== 'undefined') {