我正在尝试让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标头?
事实证明,这很容易解决。
目录结构为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的默认设置。