Ronald Klop wrote:
...
There is even more fun about the documentation of connectionTimeout. It states that it waits for the URI after accepting the connection, but in my example Tomcat is not waiting for the URI, but for data from the request. So connectionTimeout does much more than what is mentioned in the documentation.

You can also look at it in another way, consistent with your observations so far :

- Tomcat does wait after the initial connection, for connectTimeout seconds, for the URI (and, I suppose, headers) to come in.
If these things do not come in in the time set, there is an error.
This is documented.
And it helps in fighting some specific types of DOS attacks.

- but, internally and undocumented, Tomcat also uses the same "connectTimeout" timeout value when it is subsequently asked to read the request body (for example with getParameters()). But since the getParameters() method, (as per the Servlet Spec I guess) does not allow for a timeout exception to be returned, Tomcat merely returns an empty parameter map when this timeout occurs.

It appears that there is no way to explicitly set (individually) the timeout for reading the request body, nor to get a specific error when whatever timeout is being used, is exceeded.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to