CDN加速靜態資源時,將來源站點上的資源緩衝到距離用戶端最近的CDN節點上。當您訪問該靜態資源時,可直接從緩衝中擷取,本文主要介紹如何設定伺服器端的緩衝到期時間。
詳細資料
到期時間控制支援三個維度,優先順序依次為控制台設定>來源站點Header設定>Cache的預設原則設定。
關於控制台設定的詳細說明,請參見配置緩衝到期時間。
關於來源站點Header設定的詳細說明,請參見WebServer緩衝原則設定。
Cache的預設策略是在您既沒有在控制台設定到期時間,也沒有在來源站點設定到期時間的情況下,會執行一個預設的全域原則,既保證加速效果,又避免因為動態檔案快取導致的問題。關於Cache的預設原則設定的詳細說明,請參見CDN節點預設緩衝策略。
說明關於OSS緩衝原則設定,請參見管理檔案中繼資料。
WebServer緩衝原則設定
設定Nginx緩衝策略詳細操作,請參見設定Nginx緩衝策略。
設定Apache緩衝策略詳細操作,請參見設定Apache緩衝策略。
設定IIS緩衝策略詳細操作,請參見IIS緩衝原則設定。
CDN節點預設緩衝策略
因為網站開發及其相關技術人員更清楚自身網站的商務邏輯、靜態和動態因素,所以建議您通過控制台根據檔案類型和檔案所在目錄,詳情請參見配置緩衝到期時間。
如果您已經配置了緩衝策略,那麼Cache的預設緩衝策略不生效。
預設情況下,CDN節點將根據公式計算出預設的緩衝時間。為了便於理解,此處將介紹預設緩衝時間的計算公式和相關樣本。
計算公式。該公式分為如下三個步驟。
說明緩衝時間為t,單位為秒(s);Curtime為目前時間,Last_Modified為來源站點的Last-Modified回應標頭。
計算t1的值。
t1 = (Curtime - Last_Modified) * 0.1
將上一步計算的t1之與10進行比較,取最大值為t2。
t2 = max(10,t1)
通過上一步計算的t2值與3600進行比較,取最小值為t,則t為緩衝時間。
t = min(t2,3600)
樣本如下。
當對象的
Last-Modified
為20140801 00:00:00
,目前時間Curtime為20140801 00:10:00
,則t1=(Curtime-Last_modified)*0.1=60s,t2=max(10,t1)=60s,t=min(t2,3600)=60s,那麼緩衝時間為60s。當對象的
Last-Modified
為20140801 00:00:00
,目前時間Curtime為20140802 00:00:00
,則t1=(Curtime-Last_modified)*0.1=8640s,t2=max(10,t1)=8640s,t=min(t2,3600)=3600s,那麼緩衝時間為3600s。當對象的
Last-Modified
為20140801 00:00:00
,目前時間Curtime為20140801 00:01:00
, 則t1=(Curtime-Last_modified)*0.1=6s,t2=max(10,t1)=10s,t=min(t2,3600)=10s,那麼緩衝時間為10s。
如果來源站點沒有
Last-Modified
回應標頭,但有ETag
,則該對象極有可能是靜態資源,將其預設緩衝時間設定為dft_expires
指令配置的最小值。如果來源站點沒有
Last-Modified
回應標頭,也沒有ETag
,則認為該對象為動態內容,將其預設緩衝時間設定為0,每次都回源。