Кажется, что Tomcat по умолчанию отправляет заголовок ETag с каждым ответом. Я хотел бы отключить их по указанным причинам Вот. Я знаю, что могу удалить их в своей конфигурации Apache, но есть ли способ отключить их на стороне Tomcat?
Ни в коем случае не отключать из коробки. Но ETags устанавливаются DefaultServlet через request.setHeader (). Таким образом, простой обходной путь для их отключения - создать фильтр для DefaultServlet, который проглатывает тег. Например:
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:
<filter> <filter-name>noetag</filter-name> <filter-class>foo.NoEtagFilter</filter-class> </filter> <filter-mapping> <filter-name>noetag</filter-name> <servlet-name>default</servlet-name> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping>