開發人員可以根據使用者請求中的不同部分(例如查詢字串、HTTP要求標頭或者Cookie等)制定規則來產生自訂緩衝鍵(Cachekey),將訪問同一個檔案的一類請求轉化為統一的Cachekey,避免將同一類請求到同一檔案的不同副本,緩衝為不同檔案的問題,從而提高緩衝的命中率,減少請求的回應時間和頻寬消耗。
背景資訊
自訂Cachekey功能不會修改回源的URL,僅會修改請求的緩衝標識,使回源請求與用戶端請求保持一致。
Cachekey是檔案在ESA節點上緩衝時的唯一身份ID,每個在ESA節點上緩衝的檔案都對應一個Cachekey。Cachekey預設為用戶端請求的完整URL(包含參數)。
注意事項
配置自訂Cachekey功能的時候,如果設定了HTTP要求標頭、Cookie、使用者特徵等參數,使用者將無法通過按URL重新整理緩衝功能來重新整理指定URL的快取檔案,這時候可以使用按自訂Cachekey重新整理緩衝功能來重新整理指定URL的快取檔案。
應用情境
操作步驟
新增規則後,當使用者發起資源訪問請求時,ESA將根據規則的生效優先順序依次進行匹配與執行。
在ESA控制台,選擇網站管理,在網站列單擊目標網站。
在左側導覽列,選擇。
單擊新增規則,填寫規則名稱。
在如果請求匹配以下規則...地區設定要匹配的使用者請求特徵,具體配置規則請參見規則運算式的組成。
在緩衝資格地區,選擇繞過緩衝規則為符合緩衝條件。
在自訂Cachekey地區,單擊配置,設定以下參數。

參數
說明
對查詢字串排序
是否開啟查詢字串排序功能。
查詢字串
設定去除請求URL中攜帶的
?及其後面的查詢字串。HTTP要求標頭
包括這些標題名稱及其值:將指定的HTTP要求標頭名稱及其值加入Cachekey。
檢查是否存在:檢查指定的HTTP要求標頭是否存在。如果存在,則將HTTP Header名稱加入Cachekey。
Cookie
包括這些Cookie名稱及其值:將指定的Cookie參數名稱及其值加入Cachekey。
檢查是否存在:檢查指定的Cookie參數是否存在。如果存在,則將Cookie參數名稱加入Cachekey。
使用者
裝置類型:根據用戶端
User-Agent資訊來識別用戶端類型,然後根據用戶端類型來產生Cachekey。省/地區:根據用戶端IP來識別用戶端所在的省/地區,然後根據省/地區來產生Cachekey。
語言:根據用戶端請求中攜帶的
Accept-Language資訊來識別用戶端語言,然後根據語言類型來產生Cachekey。
緩衝欺騙防禦
防禦Web緩衝欺騙攻擊的同時,允許對靜態內容進行緩衝。
單擊確定。
配置樣本
樣本情境 |
|
功能配置 |
|
產生Cachekey | 每個參數產生的Cachekey片段為:
所以,實際拼接產生的Cachekey: |
相關文檔
規則相關的功能,在生效優先順序、可重新進入性、生效顆粒度上存在差異,詳細情況請查看規則相關功能的特性說明。
