• 4
name

A PHP Error was encountered

Severity: Notice

Message: Undefined index: userid

Filename: views/question.php

Line Number: 191

Backtrace:

File: /home/prodcxja/public_html/questions/application/views/question.php
Line: 191
Function: _error_handler

File: /home/prodcxja/public_html/questions/application/controllers/Questions.php
Line: 433
Function: view

File: /home/prodcxja/public_html/questions/index.php
Line: 315
Function: require_once

name Punditsdkoslkdosdkoskdo

How to disable ETag headers in Tomcat

Tomcat seems to send an ETag header with each response by default. I'd like to disable these for reasons outlined here. I know I can strip them out in my Apache configuration, but is there any way to disable them on the Tomcat side?

No way disable out of the box. But ETags are set by the DefaultServlet via request.setHeader(). So an easy workaround to disable them is to create a filter for DefaultServlet which swallows the tag. For example:

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);
          }
      }
  });
}

And in 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>
  • 8
Reply Report

Trending Tags