INPUTTIMEOUT (JANUS DEFINE parameter): Difference between revisions
mNo edit summary |
mNo edit summary |
||
Line 4: | Line 4: | ||
<var>INPUTTIMEOUT</var> is a parameter on [[JANUS DEFINE]], which defines and sets characteristics of a Janus port. See the [[JANUS DEFINE#parmlist|List of JANUS DEFINE parameters]]. | <var>INPUTTIMEOUT</var> is a parameter on [[JANUS DEFINE]], which defines and sets characteristics of a Janus port. See the [[JANUS DEFINE#parmlist|List of JANUS DEFINE parameters]]. | ||
This parameter, new as of ''[[Sirius Mods]]'' Version 6.8, 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 <var>INPUTTIMEOUT</var> to the TIMEOUT value, which governs the output. Prior to Version 6.8, the TIMEOUT port parameter applied both to input and to output. | This parameter, new as of ''[[Sirius Mods]]'' Version 6.8, 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 <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. |
Revision as of 18:18, 28 February 2012
<section begin="desc" />INPUTTIMEOUT xxx -- set unique timeout for web input versus output.<section end="desc" />
INPUTTIMEOUT is a parameter on JANUS DEFINE, which defines and sets characteristics of a Janus port. See the List of JANUS DEFINE parameters.
This parameter, new as of Sirius Mods Version 6.8, 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.
References
See: List of Janus commands | List of JANUS DEFINE parameters.