2016-08-24 46 views
4

我試圖讓春季啓動讓瀏覽器緩存靜態資源。 我的資源位於classpath下的「static」。當我查看發回的頭文件時,我看到修改頭文件設置正確,但不知怎的,頭文件「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 

我已經看到了這個答案How to enable HTTP response caching in Spring Boot,但這似乎並沒有因爲我沒有使用彈簧安全適用於我來說,這是不是在classpath。

我使用帶有百里香的彈簧靴1.4.0。

那麼,如何讓spring引導不包含Cache-Control頭?

+0

即使掛答案是否談論Spring Security,你有沒有嘗試過任何答案?例如,接受的答案的最後一個代碼片段不是關於Spring Security。 – g00glen00b

+0

_「標題」緩存控制:no-cache「」_你的例子說「無存儲」,這是不一樣的。和「無店」是安全相關的。 – zeroflagL

+0

@ g00glen00b只有外部庫的答案看起來是合理的,但我認爲這應該可以在spring-boot本身內解決。 – Wouter

回答

2

原來這很容易解決。

目錄結構是classpath:/ static/assets。若要加入到無響應Cache-Control頭,加入這個類:

@Configuration 
public class WebConfig extends WebMvcConfigurerAdapter { 

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

它仍然難倒了「無店鋪」是春天開機默認..