快取
快取(Caching)是將檔案儲存在邊緣伺服器上,以改善向客戶提供這些檔案時的回應時間。 藉由將檔案存放在更靠近使用者的地方,快取可以減少資料在網路上傳輸的時間,也就是一般所說的延遲。
根據預設,CIS 會快取靜態檔案,其中包括許多類型的影像和文字檔案 (非 HTML)。 快取只包括來自您網站的檔案,不包括第三方資源,例如來自社交網站的資源。 目前,CIS 不會根據 MIME 類型進行快取。
CIS 預設不快取 HTML 檔案,因為它們通常被視為動態檔案。 但是,如果靜態 HTML 與動態 HTML 可以清楚區分,則可以使用頁面規則來快取 HTML 檔案。
快取檔案有指定的過期時間,稱為 Time-to-Live (TTL),過期後就會從快取中清除。 您也可以隨時手動清除快取記憶體中的檔案。 檔案清除後,CIS 會回到您的原始伺服器重新載入檔案,並以最新版本更新快取。
有關快取設定和選項的詳細資訊,請參閱 使用快取的頁面規則。
預設快取行為
CIS 根據您訪客的位置、他們連線到的 資料中心,以及該資料中心要求資源的頻率,快取靜態內容。CIS
快取只發生在提供請求服務的 CIS 資料中心內。 CIS 不會快取下列資源:
- 站外或第三方資源
- 未經代理的 DNS 記錄上託管的內容
預設情況下,CIS 會尊重原始網頁伺服器的快取標頭,除非有邊緣快取 TTL 頁面規則取代這些標頭:
- CIS 如果 標頭設定為,,,或,或回應中有 cookie,則不會快取資源。
cache-control
private
no-store
no-cache
max-age=0
- CIS 如果 是,且 大於 0,或者 expires 標頭指定了未來日期,則會快取資源。
cache-control
public
max-age
- 同時設定
max-age
和expires
標頭時,max-age
優先。
當 cache-control
指令和 expires
標頭都不存在時,CIS 會以下列預設邊緣快取 TTL 來快取某些 HTTP 回應碼:
回應碼 | TTL |
---|---|
200, 206, 301 | 120 公尺 |
302, 303 | 20 公尺 |
404, 410 | 3 公尺 |
403 | 1 公尺 |
CIS 提供了幾個選項來自訂快取:
對於試用版和 Standard Next 客戶,CIS 快取的最大檔案大小為 512 MB;對於企業版客戶,則為 5 GB。 企業客戶可以 開啟支援個案,要求快取較大的檔案。
依預設快取副檔名
CIS 使用檔案副檔名來快取內容。 會自動快取下列副檔名:
副檔名 | |||
---|---|---|---|
bmp class css csv doc docx ejs eot eps |
gif ico jar jpg js mid midi otf pdf |
pict pls png ppt pptx ps svg svgz swf |
tif tiff ttf webp woff woff2 xls xlsx |
CIS 不會根據 MIME 類型來快取內容,預設情況下也不會快取 HTML 頁面。 不過,它會自動快取您網站的 robots.txt
檔案。 若要快取額外的內容,例如 HTML 頁面,您可以設定自訂頁面規則來控制快取的內容。
提供過時內容
如果伺服器發生故障,提供陳舊的內容可讓網站維持線上有限的版本。 即使內容過期,當原始伺服器離線時,CIS 仍會繼續提供快取內容給使用者。
瞭解 CIS 快取回應
CF-Cache-Status
標頭的輸出會顯示是否快取資源。
回應碼 | 定義 |
---|---|
HIT |
該資源在 CIS 快取中找到。 |
MISS |
在 CIS 快取中找不到資源,並從原始網頁伺服器提供。 |
EXPIRED |
在快取記憶體中找到該資源,但該資源已過期,並由原始網頁伺服器提供。 |
STALE |
資源從快取記憶體提供,但已過期。 CIS 無法聯絡來源以擷取更新的資源。 |
BYPASS |
起源伺服器指示 CIS 繞過快取,方法是使用 cache-control 標頭設定為 no-cache , private ,或 max-age=0 。當您啟用起源 cache-control 時,會傳回 BYPASS 。 CIS 當您的原始網路伺服器在回應標頭中傳送 cookie 時,也會設定。BYPASS |
REVALIDATED |
資源由快取記憶體提供,但已過期。 資源經 If-Modified-Since 標頭或 If-None-Match 標頭重新驗證。 |
UPDATING |
資源從快取記憶體提供,但已過期。 UPDATING 通常只出現在常用的快取資源上。 |
DYNAMIC |
預設並未快取該資源,而且您目前的 CIS 快取設定並未指示 CIS 快取該資源。 而是從原始 Web 伺服器要求資源。 使用頁面規則來實作自訂快取選項。 |
使用查詢字串排序
僅限企業版:CIS 將查詢字串順序不同的 URL 視為快取記憶體中的獨立檔案。 例如,如果一位使用者要求
/video/123456?title=0&byline=0&portrait=0&color=987654
和另一個請求:
/video/123456?byline=0&color=987654&portrait=0&title=0
CIS 會再次從原點取得檔案,即使該檔案已被快取。
查詢字串排序 (Query String Sort) 功能可在「快取之前」對查詢字串進行排序,提高快取命中率。 您可以使用快取頁面上的切換鍵啟用查詢字串排序。