INPUTTIMEOUT (JANUS DEFINE parameter)

From m204wiki
Jump to navigation Jump to search

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.

See also