Spring MVC 對(duì)靜態(tài)資源的HTTP緩存支持

2018-07-26 14:44 更新

為優(yōu)化站點(diǎn)性能,靜態(tài)資源應(yīng)該帶有恰當(dāng)?shù)?code>'Cache-Control'值與其他必要的頭。配置一個(gè)ResourceHttpRequestHandler處理器服務(wù)靜態(tài)資源請(qǐng)求不僅會(huì)讀取文件的元數(shù)據(jù)并填充'Last-Modified'頭的值,正確配置時(shí)'Cache-Control'頭也會(huì)被填充。【這段翻得還不是很清晰】

你可以設(shè)置ResourceHttpRequestHandler上的cachePeriod屬性值,或使用一個(gè)CacheControl實(shí)例來支持更細(xì)致的指令:

@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**")
                .addResourceLocations("/public-resources/")
                .setCacheControl(CacheControl.maxAge(1, TimeUnit.HOURS).cachePublic());
    }

}

XML中寫法則如下:

<mvc:resources mapping="/resources/**" location="/public-resources/">
    <mvc:cache-control max-age="3600" cache-public="true"/>
</mvc:resources>


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)