我正在运行一个 Tomcat 网络服务器,并有一个配置为位于我的 servlet 前面的过滤器链。链中的所有过滤器都对请求进行后处理,例如日志记录等,并且不修改响应的内容。
我注意到,直到所有过滤器都处理完响应后,响应才会返回给客户端,这会增加响应的延迟。我通过在执行以下操作的链底部添加一个过滤器来修复此问题
response.flushBuffer()
这确保响应在其他过滤器进行后期处理之前刷新到内核。 我的问题是这是否是一种标准做法,或者是否有更好的方法来解决这个问题?
最佳答案
有效且合乎逻辑的行动是优化代码和业务,如果它自然很重,那么您需要更多的处理能力。
这取决于链后的过滤器做什么?
如果它们影响响应元/ header ,那么刷新可能无济于事,因为 header 必须先行。
共享过滤器和 servlet codez 将有助于找到最佳解决方案。
关于tomcat - 我应该在进行后处理之前刷新过滤器中的响应以改善延迟吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32125359/