Skip to content

Commit 7f46826

Browse files
simon-saysangelampcosta
authored andcommitted
Update cache-control.mdx (cloudflare#23628)
* Update cache-control.mdx Clarifying current stale-while-revalidate behaviour * Update src/content/docs/cache/concepts/cache-control.mdx * Update src/content/docs/cache/concepts/cache-control.mdx --------- Co-authored-by: angelampcosta <[email protected]>
1 parent 775f9f8 commit 7f46826

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/content/docs/cache/concepts/cache-control.mdx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,15 @@ Revalidation determines how the cache should behave when a resource expires, and
7777
* `must-revalidate` — Indicates that once the resource is stale, a cache (client or proxy) must not use the response to satisfy subsequent requests without successful validation on the origin server.
7878
* `proxy-revalidate` — Has the same meaning as the `must-revalidate` response directive except that it does not apply to private client caches.
7979
* `stale-while-revalidate=<seconds>` — When present in an HTTP response, indicates caches may serve the response in which it appears after it becomes stale, up to the indicated number of seconds since the resource expired. If [Always Online](/cache/how-to/always-online/) is enabled, then the `stale-while-revalidate` and `stale-if-error` directives are ignored. This directive is not supported when using the Cache API methods `cache.match` or `cache.put`. For more information, refer to the [Worker's documentation for Cache API](/workers/runtime-apis/cache/#methods).
80+
81+
:::note
82+
Currently, `stale-while-revalidate` blocks on the first request that hits a stale cache item in the cache location, when the origin returns a response it will be served to this client with a MISS or REVALIDATED status.
83+
84+
Any other requests that arrive while this is happening in the same cache location for the same cached item will be served stale with the UPDATING status.
85+
86+
For more details on this, refer to example 1 of our [Revalidation and request collapsing](/cache/concepts/revalidation/#example-1) guide.
87+
:::
88+
8089
* `stale-if-error=<seconds>` — Indicates that when an error is encountered, a cached stale response may be used to satisfy the request, regardless of other freshness information. To avoid this behavior, include `stale-if-error=0` directive with the object returned from the origin. This directive is not supported when using the Cache API methods `cache.match` or `cache.put`. For more information, refer to the [Worker's documentation for Cache API](/workers/runtime-apis/cache/#methods).
8190

8291
The `stale-if-error` directive is ignored if [Always Online](/cache/how-to/always-online/) is enabled or if an explicit in-protocol directive is passed. Examples of explicit in-protocol directives include a `no-store` or `no-cache cache` directive, a `must-revalidate` cache-response-directive, or an applicable `s-maxage` or `proxy-revalidate` cache-response-directive.

0 commit comments

Comments
 (0)