Applies to: Protocol and format interpretation for developers inspecting authorized media delivery.

The useful distinctions

  • stale-while-revalidate permits bounded stale reuse during revalidation.
  • stale-if-error permits bounded stale reuse after qualifying errors.
  • Both extensions use durations measured in seconds.

Draw a separate branch for each permission

The example begins with a twenty-second freshness allowance. Once that allowance has been consumed, a ten-second stale-while-revalidate window and a forty-second stale-if-error window address different circumstances. Do not add the two stale numbers into a fifty-second extension. Instead, draw one branch for revalidation activity and another for an error condition. This makes the reasons for serving an older response visible in an operational note.

Name what the calculation cannot decide

A timing diagram cannot establish that a particular cache implements either extension, that an error qualifies, or that a response is otherwise eligible for reuse. Those require observation or additional policy analysis. If the object is a changing manifest, separately consider the consequences of an older list referring to resources that may have been removed. Cache permission is not a guarantee that every reference remains available. Record which branch was exercised and the observed age when reporting a real incident. Avoid describing a stale response as current merely because serving it was permitted; the whole value of the distinction is to make that older representation explicit. For the selected numbers, age thirty-five falls outside the revalidation window but inside the error allowance. The worksheet must still record the relevant triggering condition before describing which behavior is permitted.

Worked example · synthetic

The simple boundaries are age 20 for freshness, age 30 for the revalidation allowance, and age 60 for the error allowance. They are separate conditions, not successive extra lifetimes.

Synthetic text example; no network operation has been performed.

HTTP/MIME line endings are CRLF. Request URL context, where labelled, is commentary rather than a wire field. No message was transmitted.

HTTP/1.1 200 OK
Date: Sun, 08 Nov 2026 08:00:00 GMT
Cache-Control: max-age=20, stale-while-revalidate=10, stale-if-error=40
Content-Length: 0

Check the interpretation

  • Do not add the stale allowances.
  • Record the condition that justified stale reuse.
  • Confirm referenced objects have their own retention policy.