Tomcat似乎默认发送每个响应的ETag头。 我想停用这些在这里列出的原因。 我知道我可以在我的Apacheconfiguration中删除它们,但是有没有办法在Tomcat端禁用它们?
没有办法禁用开箱即用。 但ETags通过request.setHeader()由DefaultServlet设置。 因此,一个简单的解决方法来禁用它们是为DefaultServlet创build一个过滤标签。 例如:
void doFilter(ServletRequest request,ServletRequest reponse){
chain.doFilter(request,new HttpServletResponseWrapper(response){
public void setHeader(String name,String value){
if(!“etag”.equalsIgnoreCase(name)){
super.setHeader(name,value);
}
}
});
}
在web.xml中:
<滤波器>
<滤波器名称> noetag </filter - 名称>
<滤波器级> foo.NoEtagFilter </滤波器级>
</filter>
<滤波器映射>
<滤波器名称> noetag </filter - 名称>
<servlet的名称>默认</ servlet的名称>
<调度> REQUEST </调度程序>
<调度> FORWARD </调度程序>
</filter映射>