Cloudflare 是否支持 stale-while-revalidate?

Dan*_*ich 6 caching http-caching cloudflare

Cloudflare 记录了Cache-Control标头的指令列表,包括stale-while-revalidate

  • stale-while-revalidate=<seconds>
    当出现在 HTTP 响应中时,stale-while-revalidate Cache-Control 扩展指示缓存可以服务它在它变得陈旧后出现的响应,最多指示的秒数该对象最初被检索。

我将Cache-Control标头设置为,public, max-age=0, stale-while-revalidate=30但似乎从未命中缓存。Cloudflare 真的支持这个吗?

Dan*_*ich 0

不,Cloudflare 不支持stale-while-revalidate. 他们的最后一句话是在 2022 年 1 月。

\n

https://community.cloudflare.com/t/when-will-cloudflare-filled-support-stale-while-revalidate-with-asynchronous-background-revalidation/287764/9?u=dfabulich

\n
\n

首先,我们同意此功能对互联网有好处,并且我们将很快实现这一功能。目前不支持\xe2\x80\x99 的原因是长期存在的技术债务造成的技术限制。好消息是,我们\xe2\x80\x99 目前正在摆脱这些限制,以便我们可以安全地支持更多像这样的异步功能。同时,我感谢您的耐心等待,并期待尽快提供支持。

\n
\n

\xe2\x80\xa6 从那以后没有任何改变。

\n

Cloudflare 确实有一个看起来有点像 SWR 的功能,如果你眯着眼睛稍微转一下头,并行UPDATING请求可以在缓慢的重新验证过程中接收过时的内容。但该功能(确实很有趣)默认情况下处于启用状态,并且不受 SWR 标头的影响。(即使设置stale-while-revalidate=0\xe2\x80\x99也不会关闭该功能!)

\n

我在 2018 年写了一篇关于 Cloudflare 不存在的 SWR 支持的冗长分析,但这对我没有任何好处;Cloudflare从未直接回复过此事。https://community.cloudflare.com/t/does-stale-while-revalidate-work/24161/6?u=dfabulich

\n