A cached Cisco controller inventory has exceeded its freshness lifetime and was stored with must-revalidate. What must the consumer do before serving it?
Select an answer to reveal the explanation.
Short Explanation
Expired milk does not become safe because you are in a hurry. Once freshness ends, must-revalidate means check with the origin before serving—speed is not an excuse to hand out stale inventory.
Full Explanation
The must-revalidate directive requires that once a cached representation becomes stale, the cache must successfully revalidate with the origin before serving it—speed is not an excuse to hand out known-stale inventory. When a cached Cisco controller inventory has exceeded its freshness lifetime and was stored with must-revalidate, the consumer must revalidate with the origin successfully before serving; it must not return yesterday’s inventory just to keep dashboards snappy.
Serving yesterday’s inventory immediately because a cache hit is always preferable to origin latency fails must-revalidate and can drive municipal changes from obsolete controller lists. Extending max-age locally without contacting the platform fails by unilaterally rewriting the server’s freshness contract. Deleting Cache-Control headers from memory and treating the body as permanently fresh fails compliance and creates unbounded staleness.
Exam caveat: during successful revalidation a 304 lets you keep serving the stored body as freshly validated; the prohibition is serving stale without that success. Distinguish must-revalidate from no-cache (revalidate even when apparently fresh) and from proxy-revalidate.
Operational check: expire a must-revalidate inventory entry in staging, block origin briefly, and confirm the client refuses to serve the stale copy (error or wait) rather than painting an unrevalidated list.