W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Spring MVC提供了許多方式來配置"Cache-Control"請求頭,支持在許多場景下使用它。關(guān)于該請求頭完整詳盡的所有用法,你可以參考RFC 7234的第5.2.2小節(jié),這里我們只講解最常用的幾種用法。
Spring MVC的許多API中都使用了這樣的慣例配置:setCachePeriod(int seconds)
,若返回值為:
-1
,則框架不會生成一個'Cache-Control'
緩存控制指令響應(yīng)頭0
,則指示禁止使用緩存,服務(wù)器端返回緩存控制指令'Cache-Control: no-store'
n > 0
的值,則響應(yīng)會被緩存n
秒,并返回緩存控制指令'Cache-Control: max-age=n'
CacheControl
構(gòu)造器類被簡單的用來描述"Cache-Control"緩存控制指令,使你能更容易地創(chuàng)建自己的HTTP緩存策略。創(chuàng)建完了以后,CacheControl
類的實例就可以在Spring MVC的許多API中被傳入為方法參數(shù)了。
// 緩存一小時 - "Cache-Control: max-age=3600"
CacheControl ccCacheOneHour = CacheControl.maxAge(1, TimeUnit.HOURS);
// 禁止緩存 - "Cache-Control: no-store"
CacheControl ccNoStore = CacheControl.noStore();
// 緩存十天,對所有公共緩存和私有緩存生效
// 響應(yīng)不能被公共緩存改變
// "Cache-Control: max-age=864000, public, no-transform"
CacheControl ccCustom = CacheControl.maxAge(10, TimeUnit.DAYS)
.noTransform().cachePublic();
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: