一尘不染

如何在Spring Boot中启用浏览器缓存

spring-boot

我正在尝试让Spring
Boot让浏览器缓存静态资源。我的资源位于“静态”下的类路径中。当我查看发回的标头时,我看到修改标头设置得很好,但是以某种方式还添加了标头“ Cache-
Control:no-store”。

HTTP/1.1 200
Last-Modified: Wed, 24 Aug 2016 08:50:16 GMT
Cache-Control: no-store
Accept-Ranges: bytes
Content-Type: text/css
Content-Length: 434554
Date: Wed, 24 Aug 2016 09:42:42 GMT

我已经看到了这个答案如何在SpringBoot中启用HTTP响应缓存,但这似乎不适用于我,因为我没有使用spring-
security,它不在类路径中。

我在百里香中使用spring-boot 1.4.0。

那么,如何让Spring Boot不包含Cache-Control标头?


阅读 858

收藏
2020-05-30

共1个答案

一尘不染

事实证明,这很容易解决。

目录结构为classpath:/ static / assets。要不向响应添加缓存控制标头,请添加此类:

@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/assets/**").addResourceLocations("classpath:/static/assets/").setCacheControl(CacheControl.empty());
    }
}

仍然让我感到困惑的是,“无存储”是spring-boot的默认设置。

2020-05-30