Tomcat中的“ connectionTimeout”到底是什么意思?

Shu*_*ham 7 java connection tomcat

在文档(Tomcat 7 Config)中,它写为:

接受连接后,此连接器将等待呈现请求URI行的毫秒数。使用值-1表示没有(即无限)超时。默认值为60000(即60秒),但请注意,Tomcat附带的标准server.xml将此值设置为20000(即20秒)。除非disableUploadTimeout设置为false,否则在读取请求正文(如果有)时也会使用此超时。

当客户端向服务器发送请求时,将花费N毫秒来建立连接。如果此N超过客户端端设置的连接超时,则客户端中的请求将失败。

我无法理解Tomcat的connectionTimeout不同功能。具体而言,“在接受连接之后,对于要显示的请求URI行”是什么意思?

Nic*_*tto 6

connectionTimeout是服务器将自动关闭与客户端的连接而不是相反的时间限制。这是一种限制拒绝服务攻击影响的方法。实际上,进行DOS 攻击的典型方法是在给定的服务器上发起多个请求,每个请求将永远持续下去,使服务器什么也不等待并填满其线程池,从而使服务器无法接受任何请求。新的请求。由于此超时,在 x 毫秒后,它将忽略该请求,将其视为潜在攻击。

这里有一个有趣的讨论,讨论了更深入的全局同一个主题。