본문 바로가기
FullStack/41. WEB.WAS

Tomcat 정적 문서 캐시(Cache-Control)

by nakanara 2023. 6. 19.
반응형

 

 

문서 캐시를 위해서는 HTTP 헤더에 "Cache-Control: max-age=" 설정이 필요합니다.
일반적으로 Web 서버(Apache Http Server, NGIX 등)에서 정적 리소스 캐시 설정을 하지만, Tomcat으로 운영하는 경우 web.xml 설정으로 Cache-Control 설정을 할 수 있습니다.

애플리케이션 web.xml 수정

  • 적용 대상 설정 Type/Encoding
  • 적용 시간
    • base: access, now, modification
    • plus: years, months, weeks, days, hours, minutes, seconds
param-name에 ExpiresByType 이후에 Type/encnding를 입력 해서 설정이 가능하며, type만 설정 할 경우 해당 타입 전체에 적용됩니다.
<init-param>
    <param-name>ExpiresByType type/encoding</param-name>
    <param-value><base> [plus] (<num> <type>)*</param-value>
 </init-param>
  • ExpiresFilter 필터 추가
<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 1 day</param-value>
    </init-param>
    <init-param>
        <param-name>ExpiresByType text/css</param-name>
        <param-value>access plus 1 day</param-value>
    </init-param>
    <init-param>
        <param-name>ExpiresByType application/javascript</param-name>
        <param-value>access plus 1 day</param-value>
    </init-param>
    <init-param>
        <param-name>ExpiresByType font</param-name>
        <param-value>access plus 1 day</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>ExpiresFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
</filter-mapping>

참고

반응형

'FullStack > 41. WEB.WAS' 카테고리의 다른 글

nginx Permission denied 오류  (0) 2024.03.27
Tomcat 리소스 압축 gzip 전송  (0) 2023.06.26
Tomcat으로 80 포트 서비스하기  (0) 2023.05.10
Tomcat - privileged 속성  (0) 2023.05.08
Lighttpd - 경량 웹 서버  (0) 2023.04.22