緩衝到期時間指資源在CDN節點上緩衝的時間長度。CDN的預設緩衝時間最短為10秒,最長為3600秒,資源到期後會自動從CDN節點刪除,您向CDN節點發起的訪問請求會被判定為無效,請求會回來源站點擷取最新資源並緩衝到CDN節點。您可以根據業務需求,按目錄或檔案尾碼名配置靜態資源的緩衝到期時間。

背景信息

CDN節點上資源的緩衝策略如下圖所示。 原理
來源站點是否設定了緩衝規則 CDN控制台是否設定了緩衝規則 CDN節點上的緩衝行為
是,設定了cache-control:no-cache或cache-control:no-store 不涉及 遵循來源站點的緩衝規則。即CDN節點不緩衝來源站點資源,使用者每次訪問都需要回源,無法實現加速。
是,未設定cache-control:no-cache或cache-control:no-store
遵循CDN控制台設定的緩衝規則。CDN控制台上設定的緩衝規則的優先順序由高至低為:權重配置>檔案尾碼名>目錄。
说明
  • CDN從來源站點下載的某個資源同時匹配上兩條權重相同的檔案尾碼名緩衝規則和目錄緩衝規則時,因為檔案尾碼名緩衝規則的優先順序更高,所以只有檔案尾碼名緩衝規則會生效。
  • 兩條相同類型(檔案尾碼名類型或目錄類型)和權重的緩衝規則,生效優先順序隨機。
遵循來源站點的其他緩衝規則。

來源站點返回的資料的回應標頭中如果同時攜帶了cache-control和expires這兩個緩衝規則,cache-control的優先順序高於expires,即只有cache-control會實際生效。

遵循CDN控制台設定的緩衝規則。CDN控制台上設定的緩衝規則的優先順序由高至低為:權重配置>檔案尾碼名>目錄。
说明
  • CDN從來源站點下載的某個資源同時匹配上兩條權重相同的檔案尾碼名緩衝規則和目錄緩衝規則時,因為檔案尾碼名緩衝規則的優先順序更高,所以只有檔案尾碼名緩衝規則會生效。
  • 兩條相同類型(檔案尾碼名類型或目錄類型)和權重的緩衝規則,生效優先順序隨機。
遵循阿里雲CDN預設的緩衝規則。預設緩衝時間最短為10秒,最長為3600秒。預設緩衝規則如下:
  • 來源站點返回的資料中如果包含了回應標頭last_modified(伺服器上資源的最後修改時間),則預設緩衝時間=(目前時間-last_modified)×0.1。
  • 來源站點返回的資料中沒有 last-modified 回應標頭,有 ETag ,則預設緩衝時間為10秒。
  • 來源站點返回的資料中沒有 last-modified 回應標頭,也沒有 ETag ,則不緩衝。

適用情境

阿里雲CDN緩衝資源為觸發式,當使用者發起對某資源的訪問請求時,如果響應請求的CDN節點未緩衝該資源,則回使用者來源站點擷取資源,成功擷取到資源(2XX狀態代碼)後會將資源緩衝到CDN節點並返回給使用者。

配置緩衝到期時間的適用情境如下:

  • 來源站點資源發生變化,CDN節點上緩衝的資源未同步更新,緩衝的仍是舊資源。
  • 緩衝資源頻繁到期,需頻繁回來源站點擷取最新資源,導致快取命中率低。
  • 資源載入慢。

注意事項

  • 為了能準確找到更新前和更新後的來源站點內容,配置靜態資源的緩衝到期時間之前,建議您來源站點的內容不使用同名更新,而是以版本號碼的方式同步,即更新來源站點內容時採用不同的名稱。例如,採用 img-v1.0.jpg img-v2.1.jpg 的方式命名。
  • 設定的緩衝時間長短會導致回源流量不一樣,CDN節點回源擷取資源而產生的來源站點流量費用也有所不同,建議根據不同的業務需求設定緩衝時間長度。設定的緩衝時間過短,會導致CDN頻繁回源,從而增加來源站點的流量消耗。
  • 緩衝在CDN節點上的資源,由於熱度低可能被提前從節點上刪除。

操作步驟

  1. 登入 CDN控制台
  2. 在左側導覽列,單擊 域名管理
  3. 域名管理頁面,單擊目標網域名稱對應的 管理
  4. 在指定網域名稱的左側導覽列,單擊 缓存配置
  5. 缓存过期时间頁簽下,單擊 添加
  6. 添加缓存过期时间對話方塊,配置緩衝規則。
    參數 說明
    类型 支援 目录文件名后缀這兩種類型,可根據您的實際需求選擇。
    • 目录:指定路徑下的緩衝資源。
    • 文件名后缀:指定檔案類型的緩衝資源。
    地址
    • 當類型選擇 目錄 時,填寫說明如下:
      • 每次只能添加單條目錄,可以用正斜線(/)匹配所有目錄。
      • 支援輸入目錄的完整路徑,須以正斜線(/)開頭,例如 /directory/aaa
    • 當類型選擇 檔案尾碼名 時,填寫說明如下:
      • 支援輸入一個或多個檔案尾碼名,多個檔案尾碼名用英文逗號(,)分隔,例如 jpg,txt ,大小寫敏感,注意區分大小寫。
      • 不支援用星號(*)匹配所有的檔案類型。
    过期时间 資源對應的緩衝到期時間,最長可以設定3年。設定規則如下:
    • 不常更新的靜態檔案:例如,圖片類型、應用下載類型等,建議設定1個月以上。
    • 頻繁更新的靜態檔案:例如,JS、CSS等,根據實際業務情況設定。
    • 動態檔案:例如,PHP、JSP、ASP等,建議設定為0s,即不緩衝。
    权重 權重即緩衝規則的優先順序。取值為1~99,數值越大優先順序越高。
    说明
    • 建議每條緩衝策略都設定不同的權重。類型不同,權重相同的兩條緩衝策略,檔案尾碼名優先順序高於目錄。相同類型和權重的兩條緩衝策略,生效優先順序隨機。
    • 如果配置了多條緩衝策略,其中一條緩衝策略生效後將不再繼續匹配其他的緩衝策略。
  7. 單擊 确认,完成配置。

    成功配置緩衝到期時間後,您可以在 缓存过期时间列表中,根據所需 修改删除配置。

配置樣本

為加速網域名稱 example.aliyun.com 配置三條緩衝策略,緩衝策略1優先生效,緩衝策略1生效後將不再繼續匹配其他的緩衝策略。
  • 緩衝策略1:檔案尾碼名為jpg和png的所有資源到期時間設定為1個月,權重設定為90。
  • 緩衝策略2:目錄為 /www/dir/aaa 的到期時間設定為1個小時,權重設定為70。
  • 緩衝策略3:完整路徑為 /www/dir/aaa/example.php 的到期時間設定為0s,權重設定為80。

相關API

BatchSetCdnDomainConfig