caching

  • Property Manager name: Caching
  • Behavior version: The v2023-10-30 rule format supports the caching behavior v1.12.
  • Rule format status: GA, stable
  • Access: Read-write
  • Allowed in includes: Yes

Control content caching on edge servers: whether or not to cache, whether to honor the origin's caching headers, and for how long to cache. Note that any NO_‚ÄčSTORE or BYPASS_‚ÄčCACHE HTTP headers set on the origin's content override this behavior. For more details on how caching works in Property Manager, see the Learn about caching section in the guide.

OptionTypeDescriptionRequires
behaviorenum

Specify the caching option.

{"displayType":"enum","options":["MAX_AGE","NO_STORE","BYPASS_CACHE","CACHE_CONTROL_AND_EXPIRES","CACHE_CONTROL","EXPIRES"],"tag":"select"}
MAX_‚ÄčAGE

Honor the origin's MAX_‚ÄčAGE header.

NO_‚ÄčSTORE

Clears the cache and serves from the origin.

BYPASS_‚ÄčCACHE

Retains the cache but serves from the origin.

CACHE_‚ÄčCONTROL_‚ÄčAND_‚ÄčEXPIRES

Honor the origin's CACHE_‚ÄčCONTROL or EXPIRES header, whichever comes last. This adds support for the s-maxage response directive specified in RFC 7234. Use this alternative value to instruct a downstream CDN how long to cache content.

CACHE_‚ÄčCONTROL

Honor the origin's CACHE_‚ÄčCONTROL header. This adds support for the s-maxage response directive specified in RFC 7234. Use this alternative value to instruct a downstream CDN how long to cache content.

EXPIRES

Honor the origin's EXPIRES header.

must‚ÄčRevalidateboolean

Determines what to do once the cached content has expired, by which time the Akamai platform should have re-fetched and validated content from the origin. If enabled, only allows the re-fetched content to be served. If disabled, may serve stale content if the origin is unavailable.

behavior is either: CACHE_‚ÄčCONTROL_‚ÄčAND_‚ÄčEXPIRES, CACHE_‚ÄčCONTROL, EXPIRES, MAX_‚ÄčAGE
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"behavior","op":"in","value":["CACHE_CONTROL_AND_EXPIRES","CACHE_CONTROL","EXPIRES","MAX_AGE"]}}
ttlstring (duration)

The maximum time content may remain cached. Setting the value to 0 is the same as setting a no-cache header, which forces content to revalidate.

behavior is MAX_‚ÄčAGE
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"behavior","op":"eq","value":"MAX_AGE"}}
default‚ÄčTtlstring (duration)

Set the MAX_‚ÄčAGE header for the cached content.

behavior is either: CACHE_‚ÄčCONTROL_‚ÄčAND_‚ÄčEXPIRES, CACHE_‚ÄčCONTROL, EXPIRES
{"displayType":"string","tag":"input","type":"text"}
{"if":{"attribute":"behavior","op":"in","value":["CACHE_CONTROL_AND_EXPIRES","CACHE_CONTROL","EXPIRES"]}}
enhanced‚ÄčRfc‚ÄčSupportboolean

This enables honoring particular Cache-Control header directives from the origin. Supports all official RFC 7234 directives except for no-transform.

behavior is either: CACHE_‚ÄčCONTROL, CACHE_‚ÄčCONTROL_‚ÄčAND_‚ÄčEXPIRES
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"op":"and","params":[{"attribute":"behavior","op":"in","value":["CACHE_CONTROL","CACHE_CONTROL_AND_EXPIRES"]},{"attribute":"productName","op":"neq","scope":"global","value":"Wholesale_Delivery"},{"attribute":"product.name","op":"neq","scope":"global","value":"Wholesale_Delivery"}]}}
honor‚ÄčNo‚ÄčStoreboolean

Instructs edge servers not to cache the response when the origin response includes the no-store directive.

enhanced‚ÄčRfc‚ÄčSupport is true
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"enhancedRfcSupport","op":"eq","value":true}}
honor‚ÄčPrivateboolean

Instructs edge servers not to cache the response when the origin response includes the private directive.

behavior is either: CACHE_‚ÄčCONTROL, CACHE_‚ÄčCONTROL_‚ÄčAND_‚ÄčEXPIRES
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"behavior","op":"in","value":["CACHE_CONTROL","CACHE_CONTROL_AND_EXPIRES"]}}
honor‚ÄčNo‚ÄčCacheboolean

With the no-cache directive present in the response, this instructs edge servers to validate or refetch the response for each request. Effectively, set the time to live ttl to zero seconds.

enhanced‚ÄčRfc‚ÄčSupport is true
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"enhancedRfcSupport","op":"eq","value":true}}
honor‚ÄčMax‚ÄčAgeboolean

This instructs edge servers to cache the object for a length of time set by the max-age directive in the response. When present in the origin response, this directive takes precedence over the max-age directive and the default‚ÄčTtl setting.

enhanced‚ÄčRfc‚ÄčSupport is true
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"enhancedRfcSupport","op":"eq","value":true}}
honor‚ÄčSMaxageboolean

Instructs edge servers to cache the object for a length of time set by the s-maxage directive in the response. When present in the origin response, this directive takes precedence over the max-age directive and the default‚ÄčTtl setting.

enhanced‚ÄčRfc‚ÄčSupport is true
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"enhancedRfcSupport","op":"eq","value":true}}
honor‚ÄčMust‚ÄčRevalidateboolean

This instructs edge servers to successfully revalidate with the origin server before using stale objects in the cache to satisfy new requests.

behavior is either: CACHE_‚ÄčCONTROL, CACHE_‚ÄčCONTROL_‚ÄčAND_‚ÄčEXPIRES
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"behavior","op":"in","value":["CACHE_CONTROL","CACHE_CONTROL_AND_EXPIRES"]}}
honor‚ÄčProxy‚ÄčRevalidateboolean

With the proxy-revalidate directive present in the response, this instructs edge servers to successfully revalidate with the origin server before using stale objects in the cache to satisfy new requests.

enhanced‚ÄčRfc‚ÄčSupport is true
{"displayType":"boolean","tag":"input","type":"checkbox"}
{"if":{"attribute":"enhancedRfcSupport","op":"eq","value":true}}