Ben*_*ams 4 performance tomcat http-headers etags
默认情况下,Tomcat 似乎为每个响应发送一个 ETag 标头。由于此处概述的原因,我想禁用这些。我知道我可以在我的 Apache 配置中删除它们,但是有什么方法可以在 Tomcat 端禁用它们吗?
没有办法禁用开箱即用。但是 ETag 是由 DefaultServlet 通过 request.setHeader() 设置的。因此,禁用它们的一个简单解决方法是为 DefaultServlet 创建一个过滤器,它会吞下标签。例如:
void doFilter(ServletRequest 请求,ServletRequest 响应){
chain.doFilter(request, new HttpServletResponseWrapper(response) {
public void setHeader(String name, String value) {
if (!"etag".equalsIgnoreCase(name)) {
super.setHeader(name, value);
}
}
});
}
在 web.xml 中:
<过滤器>
<filter-name>noetag</filter-name>
<filter-class>foo.NoEtagFilter</filter-class>
</过滤器>
<过滤器映射>
<filter-name>noetag</filter-name>
<servlet-name>默认</servlet-name>
<dispatcher>请求</dispatcher>
<dispatcher>前进</dispatcher>
</过滤器映射>
| 归档时间: |
|
| 查看次数: |
10720 次 |
| 最近记录: |