IBM Cloud Docs
快取

快取

快取(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-ageexpires 標頭時,max-age 優先。

cache-control 指令和 expires 標頭都不存在時,CIS 會以下列預設邊緣快取 TTL 來快取某些 HTTP 回應碼:

預設快取響應代碼
回應碼 TTL
200, 206, 301 120 公尺
302, 303 20 公尺
404, 410 3 公尺
403 1 公尺

CIS 提供了幾個選項來自訂快取:

  • 使用 CIS 頁面規則為個別 URL 設定快取行為。
  • 使用 CIS 邊緣函數API 自訂快取。
  • 透過 CIS CLI 調整快取程度、TTL 等。

對於試用版和 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) 功能可在「快取之前」對查詢字串進行排序,提高快取命中率。 您可以使用快取頁面上的切換鍵啟用查詢字串排序。