我正在更新 Tomcat 9 中的 conf/server.xml 中的默认条目,以在 1 秒后请求超时,但在浏览器中没有看到此更改的效果。
我预计会在 F12 开发人员工具网络选项卡中看到 500 内部服务器错误,但对于耗时超过 1 秒的请求,状态将返回为 200。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="1000"
redirectPort="8443" />
Run Code Online (Sandbox Code Playgroud)
connectionTimeout我已检查是否通过设置为(无效值)来读取 server.xml a,并在日志中看到有关此设置的警告。此外,我通过发出命令来确保使用所需的 server.xml catalina.bat start -config \conf\server.xml。
请告诉我。
我不确定你到底想做什么。您似乎想为服务器回复请求的时间设置超时。
那么大致会发生什么:
据我所知,connectiontimeout是在第1点和第2点之间发生的事情(同样,粗略地说,细节稍微复杂一些)。所以服务器的响应时间在这里并不重要。这只是浏览器与服务器建立连接和发送请求之间的时间。因此,如果您想要基于服务器响应时间的东西,那么您没有使用正确的属性。
现在,通常人们不会真正设置响应超时,而是消费者(在本例中为浏览器)设置超时。例如,我的浏览器将超时设置为 300 秒。我稍微浏览了一下文档,您也许可以为工作人员设置回复超时,但我还没有对此进行测试,并且不确定它是否有效。
更重要的是,为什么要设置响应超时?您在处理请求时是否进行了一些可能需要很长时间的调用(数据库、Web 服务等)?在这种情况下,您应该为该调用设置超时。这将允许您记录错误并立即给出 500 错误。如果您碰巧一直在处理,您可能想要中断并停止该过程并返回错误,并再次可能记录信息,以便您知道哪里出了问题。总之,控制等待外部资源的反馈和 Web 应用程序中的处理时间,而不是尝试在 Web 服务器上设置响应超时。
| 归档时间: |
|
| 查看次数: |
13536 次 |
| 最近记录: |