功能介紹
緩存過期時間指源站資源在CDN節點緩存的時長,在緩存未過期前,對應資源會直接從CDN節點響應給用戶;達到預設緩存過期時間后,資源將會被CDN節點標記為緩存過期。此時如果客戶端向CDN節點請求該資源,CDN會攜帶If-Modified-Since請求頭或If-None-Match請求頭回源站校驗內容是否有更新,如有更新則獲取最新資源并緩存到CDN節點,如無更新則繼續使用原有緩存文件。您可以根據業務需求,按指定路徑或文件名后綴等方式配置靜態資源的緩存過期時間。
注意事項
- 您可基于天翼云默認推薦的緩存設置,按需進行調整后,直接使用,當前默認推薦配置如下:
- 如您刪除了上述默認推薦設置,且未添加其他任何設置情況下,全局默認優先遵循源站緩存頭,包括Pragma:no-cache、Cache-Control、Expires響應頭;其優先級從高到底分別如下:Pragma:no-cache、Cache-Control:no-cache/private/no-store > Cache-Control:max-age=n (n≥0)>Expires。如源站無任何上述緩存頭設置,則在CDN節點上不緩存。
- 如果加速域名下的文件訪問熱度過低(指同個文件在一段時間內被訪問的頻次過低),則很可能在過期時間到來之前被其他熱度更高的文件覆蓋。即:即使某個文件配置的緩存時間較長,如1個月,仍有可能在1個月內重復回源。
- 天翼云CDN節點的緩存時間,最長可以設置為3年,即1095天。
配置說明
- 登錄。
- 單擊左側導航欄【域名管理】-【域名列表】。
- 在【域名列表】頁面,找到目標域名,單擊【操作】列的【編輯】。
- 單擊右側【緩存配置】。
- 在【緩存過期時間】模塊,單擊【增加規則】,彈出的對話框中,添加緩存時間規則。
(1)選擇【類型】,如后綴名、目錄、首頁、全部文件、全路徑文件,并配置相應的內容。
- 后綴名:指文件后綴名,可單擊選擇后綴名,如jpg,png。若后綴名不在選擇清單內,可在【其他文件】框輸入其他后綴名。
- 目錄:指具體目錄,例如值為:/a,表示目錄前綴為/a/的文件。
- 首頁:指域名首頁,值固定為/。
- 全部文件:指對應域名下的所有文件,值固定為/。
- 全路徑文件:指對應URI的文件,例如值為:/a/b.js,則表示請求url中位于/a/目錄下的b.js文件的緩存規則(無論是否攜帶問號后參數)。
(2)選擇【緩存規則】,默認為強制緩存。
- 如選擇強制緩存,則即使源站返回Cache-Control:no-cache/no-store/private等不緩存頭或類似Cache-Control:max-age=n (n>0) 的緩存頭時,CDN節點仍將按照預設的規則及時間緩存文件。
注意如選擇強制緩存,且過期時間設置為0,則無論源站如何響應,CDN節點均不緩存該文件。
- 如選擇優先遵循源站,則源站如果返回Cache-Control:no-cache/no-store/private等不緩存頭或Cache-Control:max-age=n (n>0)、Expires響應頭時,優先按照源站響應頭對應的緩存時間生效。
- 如選擇不緩存,則無論源站返回任何緩存相關響應頭,CDN節點均不緩存。
(3)選擇【過期時間】單位,如秒、分鐘、小時、天。再填寫對應的過期時間。
(4)【去問號緩存】默認為開啟,如需要帶問號后參數緩存,請選擇關閉該功能。
注意對于可緩存的文件,CDN節點通常會將用戶請求的原始URL作為緩存key(緩存key為文件在CDN節點上緩存的唯一ID)。如果原始URL中攜帶問號后參數,且不同參數實際指向同一份文件時,可以配置開啟去問號緩存,此時CDN節點會將問號后參數去掉的內容作為緩存key,以提升緩存命中率,降低回源量。如果原始URL中攜帶問號后參數,且參數不同時源站指向不同文件,則需要關閉去問號緩存功能,避免緩存錯誤。
(5)填寫【權重】。權重即優先級,支持自定義,數字越大則越優先生效。如果同個URL滿足不同的緩存規則設置,例如該URL既屬于某個文件后綴,又屬于某個目錄下,此時具體遵循哪條緩存規則,取決于二者的權重設置,最終按權重數字大的生效。
- 單擊【確定】,完成配置。
配置示例
需要對“txt”格式的文件緩存7天,且需要忽略源站響應頭Cache-Control,即開啟強制緩存,在CDN控制臺增加一條文件名后綴為“txt”的緩存規則,緩存過期時間設置為“7天”,緩存規則選擇強制緩存: