觀點 · 資訊分享
Cloudflare 快取換上 Pingora 新引擎:背景更新舊內容,但有 3 項行為會變
Cloudflare 宣布快取改跑在以 Rust 打造的 Pingora 新代理上,官方說延遲更低、快取未命中更少,也新增非同步 stale-while-revalidate。同時有 3 項行為變動,用 CDN 的網站建議先檢查。
- 發布
- 2026-05-05
- 篇幅
- 約 3 分鐘 · 1,447 字
- 結構
- 8 節 + 3 題常見問題
- 標籤

一句話看懂:Cloudflare 把快取換成以 Pingora 打造的新代理,官方說延遲更低、更記憶體安全,還多了背景更新舊內容的功能,但有 3 項行為會跟以前不一樣。

先用白話講:CDN 快取在做什麼?
想像你開了一間便當店,每次有人點餐都要回總店拿,很慢。於是在各地設「分店冰箱」,常被點的便當先放著,客人來就直接拿,這就是 CDN 的快取。
這次 Cloudflare 做的,是把所有分店冰箱背後的「出餐系統」整套換掉。
發生什麼事
Cloudflare 在 5 月 4 日的更新紀錄中說,快取現在跑在一個用 Pingora 打造的新代理上。Pingora 是用 Rust 寫的框架,官方說它已經在處理 Cloudflare 網路上相當大一部分的流量。
官方列出的好處:
- 延遲更低:改善連線重複利用,每個請求的額外負擔變少
- 快取未命中更少:快取保留得更好,源站被打的次數變少
- 更符合 RFC:快取行為更貼近 HTTP 快取標準
- 也比較「記憶體安全」,並為之後的新功能打好底子
兩個新功能
- 非同步 stale-while-revalidate:內容過期後,每個請求都會立刻拿到舊內容,更新在背景進行。以前過期後的第一個請求,會卡著等源站回應。
- 未命中的回應預設不緩衝:不走快取的回應直接串流給使用者,官方說這能縮短第一個位元組的等待時間。
3 項行為變動
這是最容易被忽略、但可能影響網站的部分:
| 項目 | 新行為 |
|---|---|
Vary: * |
整個回應改為不快取(官方引用 RFC 9110 的規定) |
Set-Cookie |
未命中與過期時也會移除,不只是命中時 |
| 小數 TTL | 像 max-age=1.5 會無條件捨去成整數,不再被當成無效 |
給開發者的技術細節
- 如果你的程式在回應裡帶
Vary: *,過去可能被存進快取,現在會直接繞過快取,源站流量可能增加 - 如果你的流程依賴「第一次未命中時,使用者能拿到 Set-Cookie」,行為會改變,需要重新測試登入或追蹤用的 Cookie
- 小數 TTL 現在會被接受並捨去,例如
max-age=1.5等於 1 秒,這是依官方描述的自行解讀 - 官方說更深入的技術介紹「很快」會放在 Cloudflare 部落格,目前公告沒有給出效能的具體數字
我的看法
對小團隊與接案者來說,這類「平台底層換引擎」的消息最麻煩,因為你什麼都沒改,行為卻可能不同。好處是官方這次把三項行為變動寫得很清楚,照著檢查就好。
我會建議用 Cloudflare 當 CDN 的網站,花十分鐘做兩件事:搜一下自己的回應有沒有 Vary: *,再確認會員或購物車相關的 Cookie 在快取路徑上有沒有被影響。沒問題就當作白賺一次升級;官方也還沒公布具體的效能數字,不用期待立刻看到大幅變化。
名詞小辭典
- CDN:內容傳遞網路,把網站內容複製到全球各地,讓使用者從最近的地方拿資料。
- Pingora:Cloudflare 用 Rust 寫的網路代理框架,專門處理大量流量。
- stale-while-revalidate:先給使用者過期的舊內容,同時在背景更新,讓人不用等。
- TTL:存活時間,快取內容可以被當成新鮮資料的秒數。
資料來源
常見問題
Pingora 是什麼?
Pingora 是 Cloudflare 用 Rust 寫的網路代理框架,官方說它已經處理了 Cloudflare 網路上相當大一部分的流量。這次是把快取也搬到以它打造的新代理上。
stale-while-revalidate 是什麼意思?
意思是快取內容過期後,先把舊內容回給使用者,同時在背景向源站要新內容。官方說新版是每個請求都會立刻拿到舊內容,不會再讓過期後的第一個請求卡在源站。
我的網站需要改設定嗎?
官方沒有要求一定要改,但列出了三項行為變動。如果你的回應有帶 Vary: *、在未命中時依賴 Set-Cookie,或把 max-age 寫成小數,建議檢查一下。
接著讀
全部觀點 →Cloudflare Smart Tiered Cache 認得雲端原站:加一個「區域提示」,快取命中率更高、原站更輕鬆Cloudflare 讓 Smart Tiered Cache 支援放在 AWS、GCP、Azure、Oracle Cloud 的原站。只要替原站設定雲端區域提示,Cloudflare 就會挑一個離原站近的上層節點,把快取未命中的請求集中送過去。所有方案免費可用。閱讀 →Cloudflare 快取看得懂 Vary 了:同一個網址能同時存好幾個語言或格式的版本,所有方案都能用Cloudflare 的快取規則(Cache Rules)現在會依源站回傳的 Vary 標頭,為同一個網址存多個版本。以前為了不出錯只好繞過快取的內容,現在也能放進快取。閱讀 →Cloudflare Workers 的 fetch() 新增 cf.vary:同一個網址有多語言、多格式版本,快取可以逐次指定Cloudflare 在 6/28 讓 Workers 的 fetch() 支援 cf.vary 選項,可以針對單一子請求決定要怎麼處理來源回傳的 Vary 標頭:把相近的值併成同一份快取、照原值分版本,或乾脆不快取。閱讀 →