Jetty 服务器:保持 HTTP 连接超时
Jetty Server : keep alive timeout for HTTP connection
所以HTTP.1及以上版本支持持久连接。
现在,我们正在创建一个应该是无状态的 rest 应用程序。我们限制了一次连接的数量。
但是如果我浏览 HTTP 1.0 文档,这种方法似乎有问题。
它表示除非客户端要求关闭,否则服务器将保持连接打开。
那么,我的问题是如果客户端没有关闭怎么办?如果连接始终处于活动状态,它可能会给我拒绝服务错误。
jetty 的默认超时是多少?我该如何配置它?我找不到合适的文档。
HttpConfiguration
有配置设置setIdleTimeout(long ms)
控制请求之间的空闲超时。
HttpConfiguration
对象是 ServerConnector
的一部分,它控制侦听端口并接受连接。
空闲超时在代码中默认为 -1(无限)。
但在 jetty-home
中是 30,000 毫秒(和较旧的 jetty-distribution
)。
如果使用独立码头,请使用 jetty-start 属性 jetty.http.idleTimeout
为您的特定码头基地配置它 instance/configuration。
注意:如果您使用 Servlet Async 功能,则在容器中配置的空闲超时将被 Servlet Async 超时配置覆盖。 (如果你使用 Servlet Async,那么总是指定一个有效的超时,永远不要禁用它,或者将它设置为无限,或者将它设置为非常大的值)
所以HTTP.1及以上版本支持持久连接。
现在,我们正在创建一个应该是无状态的 rest 应用程序。我们限制了一次连接的数量。
但是如果我浏览 HTTP 1.0 文档,这种方法似乎有问题。
它表示除非客户端要求关闭,否则服务器将保持连接打开。
那么,我的问题是如果客户端没有关闭怎么办?如果连接始终处于活动状态,它可能会给我拒绝服务错误。
jetty 的默认超时是多少?我该如何配置它?我找不到合适的文档。
HttpConfiguration
有配置设置setIdleTimeout(long ms)
控制请求之间的空闲超时。
HttpConfiguration
对象是 ServerConnector
的一部分,它控制侦听端口并接受连接。
空闲超时在代码中默认为 -1(无限)。
但在 jetty-home
中是 30,000 毫秒(和较旧的 jetty-distribution
)。
如果使用独立码头,请使用 jetty-start 属性 jetty.http.idleTimeout
为您的特定码头基地配置它 instance/configuration。
注意:如果您使用 Servlet Async 功能,则在容器中配置的空闲超时将被 Servlet Async 超时配置覆盖。 (如果你使用 Servlet Async,那么总是指定一个有效的超时,永远不要禁用它,或者将它设置为无限,或者将它设置为非常大的值)