mod_reqtimeout.html.en revision cb8646cb564e6b2f7b1580b01ba4fbfd26231253
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<?xml version="1.0" encoding="ISO-8859-1"?>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin This file is generated from xml source: DO NOT EDIT
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin -->
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<title>mod_reqtimeout - Apache HTTP Server</title>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen<link href="/images/favicon.ico" rel="shortcut icon" /></head>
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen<body>
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen<div id="page-header">
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="/faq/">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<p class="apache">Apache HTTP Server Version 2.3</p>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<img alt="" src="/images/feather.gif" /></div>
d229f940abfb2490dee17979e9a5ff31b7012eb5rbowen<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<div id="path">
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.3</a> &gt; <a href="./">Modules</a></div>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<div id="page-content">
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<div id="preamble"><h1>Apache Module mod_reqtimeout</h1>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<div class="toplang">
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<p><span>Available Languages: </span><a href="/en/mod/mod_reqtimeout.html" title="English">&nbsp;en&nbsp;</a></p>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin</div>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Set timeout and minimum data rate for receiving requests
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin</td></tr>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Experimental</td></tr>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<tr><th><a href="module-dict.html#ModuleIdentifier">Module�Identifier:</a></th><td>reqtimeout_module</td></tr>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<tr><th><a href="module-dict.html#SourceFile">Source�File:</a></th><td>mod_reqtimeout.c</td></tr>
f2dddcb17c7d7e94cc69563d3c99f9d035224ecctrawick<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.2.15 and later</td></tr></table>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin</div>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<div id="quickview"><h3 class="directives">Directives</h3>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<ul id="toc">
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<li><img alt="" src="/images/down.gif" /> <a href="#requestreadtimeout">RequestReadTimeout</a></li>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin</ul>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<h3>Topics</h3>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<ul id="topics">
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<li><img alt="" src="/images/down.gif" /> <a href="#examples">Examples</a></li>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin</ul></div>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<div class="section">
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin<h2><a name="examples" id="examples">Examples</a></h2>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin <ol>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin <li>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin Allow 10 seconds to receive the request including the headers and
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin 30 seconds for receiving the request body:
30471a4650391f57975f60bbb6e4a90be7b284bfhumbedooh
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin <div class="example"><p><code>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin RequestReadTimeout header=10 body=30
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin </code></p></div>
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin </li>
727872d18412fc021f03969b8641810d8896820bhumbedooh
0d0ba3a410038e179b695446bb149cce6264e0abnd <li>
727872d18412fc021f03969b8641810d8896820bhumbedooh Allow at least 10 seconds to receive the request body.
cc7e1025de9ac63bd4db6fe7f71c158b2cf09fe4humbedooh If the client sends data, increase the timeout by 1 second for every
0d0ba3a410038e179b695446bb149cce6264e0abnd 1000 bytes received, with no upper limit for the timeout (exept for
cc7e1025de9ac63bd4db6fe7f71c158b2cf09fe4humbedooh the limit given indirectly by
727872d18412fc021f03969b8641810d8896820bhumbedooh <code class="directive"><a href="/mod/core.html#limitrequestbody">LimitRequestBody</a></code>):
0d0ba3a410038e179b695446bb149cce6264e0abnd
0d0ba3a410038e179b695446bb149cce6264e0abnd <div class="example"><p><code>
0d0ba3a410038e179b695446bb149cce6264e0abnd RequestReadTimeout body=10,MinRate=1000
ac082aefa89416cbdc9a1836eaf3bed9698201c8humbedooh </code></p></div>
0d0ba3a410038e179b695446bb149cce6264e0abnd </li>
0d0ba3a410038e179b695446bb149cce6264e0abnd
0d0ba3a410038e179b695446bb149cce6264e0abnd <li>
727872d18412fc021f03969b8641810d8896820bhumbedooh Allow at least 10 seconds to receive the request including the headers.
0d0ba3a410038e179b695446bb149cce6264e0abnd If the client sends data, increase the timeout by 1 second for every
0d0ba3a410038e179b695446bb149cce6264e0abnd 500 bytes received. But do not allow more than 30 seconds for the
30471a4650391f57975f60bbb6e4a90be7b284bfhumbedooh request including the headers:
5effc8b39fae5cd169d17f342bfc265705840014rbowen
d229f940abfb2490dee17979e9a5ff31b7012eb5rbowen <div class="example"><p><code>
0d0ba3a410038e179b695446bb149cce6264e0abnd RequestReadTimeout header=10-30,MinRate=500
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd </code></p></div>
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd </li>
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd
109b93ded5941c5c5fdbc05a2a16286ed4f7e5c8minfrin <li>
Usually, a server should have both header and body timeouts configured.
If a common configuration is used for http and https virtual hosts, the
timeouts should not be set too low:
<div class="example"><p><code>
RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
</code></p></div>
</li>
</ol>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="RequestReadTimeout" id="RequestReadTimeout">RequestReadTimeout</a> <a name="requestreadtimeout" id="requestreadtimeout">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Set timeout values for receiving request headers and body from client.
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RequestReadTimeout
[header=<var>timeout</var>[[-<var>maxtimeout</var>],MinRate=<var>rate</var>]
[body=<var>timeout</var>[[-<var>maxtimeout</var>],MinRate=<var>rate</var>]
</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Unset; no limit</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_reqtimeout</td></tr>
</table>
<p>This directive can set various timeouts for receiving the request headers
and the request body from the client. If the client fails to send headers or
body within the configured time, a <code>408 REQUEST TIME OUT</code> error
is sent.</p>
<p>For SSL virtual hosts, the header timeout values include the time needed
to do the initial SSL handshake. If the user's browser is configured to
query certificate revocation lists and the CRL server is not reachable, the
initial SSL handshake may take a significant time until the browser gives up
waiting for the CRL. Therefore the header timeout values should not be set
to very low values for SSL virtual hosts.
The body timeout values include the time needed for SSL renegotiation
(if necessary).</p>
<p>When an <code class="directive"><a href="/mod/core.html#acceptfilter">AcceptFilter</a></code> is in use
(usually the case on Linux and FreeBSD), the socket is not sent to the
server process before at least one byte (or the whole request for
<code>httpready</code>) is received. The header timeout configured with
<code>RequestReadTimeout</code> is only effective after the server process has
received the socket.</p>
<p>For each of the two timeout types (header or body), there are three ways
to specify the timeout:
</p>
<ul>
<li><strong>Fixed timeout value</strong>:<br />
<div class="example"><p><code><var>type</var>=<var>timeout</var></code></p></div>
<p>The time in seconds allowed for reading all of the request headers or
body, respectively. A value of 0 means no limit.</p>
</li>
<li><strong>Timeout value that is increased when data is
received</strong>:<br />
<div class="example"><p><code>
<var>type</var>=<var>timeout</var>,MinRate=<var>data_rate</var>
</code></p></div>
<p>Same as above, but whenever data is received, the timeout value is
increased according to the specified minimum data rate (in bytes per
second).</p>
</li>
<li><strong>Timeout value that is increased when data is received, with an
upper bound</strong>:<br />
<div class="example"><p><code>
<var>type</var>=<var>timeout</var>-<var>maxtimeout</var>,MinRate=<var>data_rate</var>
</code></p></div>
<p>Same as above, but the timeout will not be increased above the second
value of the specified timeout range.</p>
</li>
</ul>
</div>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="/en/mod/mod_reqtimeout.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2010 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>
<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="/faq/">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p></div>
</body></html>