조금이라도 정적인 자원들에 대해서 빨리 로딩하는 방법이 없을까 고민하고 있었는데 우연히 정적 리소스에 대한 cache와 compress를 보았다. 그래서 한 번 테스트 해볼까 한다.
Cache
application.json 에 아래 내용을 추가한다. (초단위 60x60x10 = 10시간) -> 테스트시간임
spring.resources.cache.period=36000
처음 호출했을 경우 200과 함께 사이즈 시간을 볼 수있다.
새로고침 을 누르고 다시 조회 보면 304 와 함께 max-age를 통해 캐쉬가 됨을 확인
처음 호출 이후에 지정된 시간까지 캐쉬를 통해 절약할 수 있음 알았다.
자바소스에서는 WebMvcConfigurer 를 implements 하여 쓸 수 있다.
registry.addResourceHandler("/**")
.addResourceLocations("classpath:/static/")
.setCachePeriod(36000)
;
Compress
압축을 해보자 . application.json 에 다음을 추가하자
server.compression.enabled=true
server.compression.mime-types=text/html,text/xml,text/plain,text/css,text/javascript,application/javascript
server.compression.min-response-size=2048
그리고 호출
네트워크 환경에 따라서 속도는 다르게 나올 수 있다 하지만 사이즈가 엄청 크거나 로딩이 느리다면
고민해서 활용을 해보면 좋을 것 같다