Mam uruchomiony serwer Apache Tomcat. Jeśli mam coś takiego:
webapp/
image1.png
Następnie mogę po prostu uzyskać do niego dostęp za pomocą:
example.com/image1.png
Co jest idealne, z tym wyjątkiem, że nie mam żadnej kontroli nad tym, jakie nagłówki są wysyłane. Chcę wysłać konkretne Expires
nagłówek dla niektórych typów MIME (jak, dla image/png
). Te nagłówki będą statyczne, więc nie mam nic przeciwko, jeśli muszę to określić w jakimś pliku XML i nie mogę być dynamiczny.
Czy to możliwe dzięki Apache Tomcat? Innym oczywistym sposobem jest odczytanie pliku i przesłanie go do przeglądarki z odpowiednimi nagłówkami, ale myślę, że może to być przesada.
Odpowiedzi:
1 dla odpowiedzi № 1Użyj filtrów Tomcat do zastosowania tych nagłówków.
<web-app ...>
...
<filter>
<filter-name>ExpiresFilter</filter-name>
<filter-class>org.apache.catalina.filters.ExpiresFilter</filter-class>
<init-param>
<param-name>ExpiresByType image</param-name>
<param-value>access plus 10 minutes</param-value>
</init-param>
<init-param>
<param-name>ExpiresByType text/css</param-name>
<param-value>access plus 10 minutes</param-value>
</init-param>
<init-param>
<param-name>ExpiresByType application/javascript</param-name>
<param-value>access plus 10 minutes</param-value>
</init-param>
</filter>
...
<filter-mapping>
<filter-name>ExpiresFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
...
</web-app>
Więcej informacji na Dokumentacja filtra Tomcat
0 dla odpowiedzi nr 2
Możliwe, że nie używasz Tomcat 7, ale starszej wersji. W mojej instalacji Tomcat 7 znalazłem ten filtr spakowany w pliku catalina.jar