INPUTTIMEOUT (JANUS DEFINE parameter): Difference between revisions
mNo edit summary |
m (remove displaytitle) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<span class="pageSubtitle">INPUTTIMEOUT xxx — set unique timeout for web input versus output</span> | |||
<span class="pageSubtitle" | |||
<var>INPUTTIMEOUT</var> is a parameter on [[JANUS DEFINE]], which defines and sets characteristics of a Janus port. | <var>INPUTTIMEOUT</var> is a parameter on <var>[[JANUS DEFINE]]</var>, which defines and sets characteristics of a Janus port. | ||
This parameter | This parameter tells <var class="product">[[Janus Web Server]]</var> to use a different timeout value for input (receiving the web request) than for output. Once a complete HTTP request is received, <var class="product">Janus Web Server</var> switches the port's connection timeout limit from <var>INPUTTIMEOUT</var> to the <var>[[TIMEOUT (JANUS DEFINE parameter)|TIMEOUT]]</var> value, which governs the output. Prior to Version 6.8, the <var>TIMEOUT</var> port parameter applied both to input and to output. | ||
One reason that different timeout values are useful is that some browsers occasionally delay receiving web output until some user interaction is completed, yet ordinarily there is no delay between connection establishment and the sending of the HTTP request. It is therefore safe to set a very aggressive input timeout while maintaining a less aggressive output timeout. | One reason that different timeout values are useful is that some browsers occasionally delay receiving web output until some user interaction is completed, yet ordinarily there is no delay between connection establishment and the sending of the HTTP request. It is therefore safe to set a very aggressive input timeout while maintaining a less aggressive output timeout. | ||
You set the <var>INPUTTIMEOUT</var> parameter in the port definition by following it by the number of seconds to be used as the timeout limit for receiving an HTTP request. This is the maximum length of time | You set the <var>INPUTTIMEOUT</var> parameter in the port definition by following it by the number of seconds to be used as the timeout limit for receiving an HTTP request. This is the maximum length of time <var class="product">Janus Web Server</var> will wait while no data is received from the client, '''not''' the time for the entire request to be received. This distinction is important in big uploads being performed via HTTP. A low <var>INPUTTIMEOUT</var> should not cause these requests to time out, as long as the upload moves along at a fairly steady rate, even if the time required for the upload is significantly longer than the <var>INPUTTIMEOUT</var> value. | ||
A relatively low <var>INPUTTIMEOUT</var> setting, such as 5 (seconds), ought to be sufficient for all connections, including the unusual cases like the following: | A relatively low <var>INPUTTIMEOUT</var> setting, such as 5 (seconds), ought to be sufficient for all connections, including the unusual cases like the following: | ||
Line 18: | Line 17: | ||
</ul> | </ul> | ||
The <var>INPUTTIMEOUT</var> parameter is valid only for a | The <var>INPUTTIMEOUT</var> parameter is valid only for a <var class="product">Janus Web Server</var> port. | ||
==See also== | ==See also== |
Latest revision as of 17:53, 8 June 2016
INPUTTIMEOUT xxx — set unique timeout for web input versus output
INPUTTIMEOUT is a parameter on JANUS DEFINE, which defines and sets characteristics of a Janus port.
This parameter tells Janus Web Server to use a different timeout value for input (receiving the web request) than for output. Once a complete HTTP request is received, Janus Web Server switches the port's connection timeout limit from INPUTTIMEOUT to the TIMEOUT value, which governs the output. Prior to Version 6.8, the TIMEOUT port parameter applied both to input and to output.
One reason that different timeout values are useful is that some browsers occasionally delay receiving web output until some user interaction is completed, yet ordinarily there is no delay between connection establishment and the sending of the HTTP request. It is therefore safe to set a very aggressive input timeout while maintaining a less aggressive output timeout.
You set the INPUTTIMEOUT parameter in the port definition by following it by the number of seconds to be used as the timeout limit for receiving an HTTP request. This is the maximum length of time Janus Web Server will wait while no data is received from the client, not the time for the entire request to be received. This distinction is important in big uploads being performed via HTTP. A low INPUTTIMEOUT should not cause these requests to time out, as long as the upload moves along at a fairly steady rate, even if the time required for the upload is significantly longer than the INPUTTIMEOUT value.
A relatively low INPUTTIMEOUT setting, such as 5 (seconds), ought to be sufficient for all connections, including the unusual cases like the following:
- Anecdotal evidence suggests that some web crawlers, and occasionally browsers, establish connections only to "lose their way," and then either don't send a request on the connection at all, or don't send one for a long time.
- Unsophisticated denial of service attacks often do nothing more than establish large numbers of connections to a web server, attempting to tie up resources on the web server.
- A mistaken connection to a web server port using the wrong protocol (like telnet or HTTP) will often hang the connection until it times out.
The INPUTTIMEOUT parameter is valid only for a Janus Web Server port.