Downstream Cacheability

Downstream caching refers to the caching instructions associated with content sent with responses toward the clients - their browsers, mobile devices, or client proxies.

โ€‹Akamaiโ€‹ recommends that you read the topic Learn about caching before working with this and all caching features.

How it works

By default, โ€‹Akamaiโ€‹ sets caching for downstream (the client/end-user side of the Internet) to clients to a value that is the lesser of the remaining edge cache lifetime and origin header value. In other words, the edge servers calculate downstream caching values from your platform caching or your origin caching headers.

If you set the platform caching behavior to no-store or bypass-cache, โ€‹Akamaiโ€‹ servers attempt to prohibit downstream caching by sending cache-busting headers downstream.

๐Ÿ“˜

Cache-busting headers: Expires: [current time], Cache-Control: max-age=0, Cache-Control: no-store, Pragma: no-cache.

Features and options

Field

What it does

Sub-options

Caching Option

Specifies which caching instructions edge servers send to the end-user's client.

  • **Allow caching**. Using this option, you can choose the caching method and the headers to send downstream. The methods include calculating based on the edge caching instructions or sending a fixed value. You can also choose to include a private directive using this option. As noted, by default the value is the lesser of remaining edge cache lifetime and the origin header value.
  • **Allow caching, require validation (no-cache)**. This is the `Cache-Control: no-cache` instruction, which allows caching but forces the browser to send an `If-Modified-Since` request every time it requests the object. It also provides the option of sending a private directive.
  • **Don't allow caching (bust)**. Send cache-busting headers downstream.
  • **Pass cacheability headers from origin**. This option tunnels the `Cache-Control` and/or `Expires` header settings from the origin to the downstream.
  • **Don't send cacheability headers; client browser defaults apply**. Don't send any caching headers. With this option selected, the client browsers cache content according to their own defaults, which may vary from browser to browser.

Cache Lifetime

Determines how edge servers calculate the downstream cache's lifetime. This sets the value of the Expires header.

  • **(Default) Smaller value: origin header or remaining edge TTL**. Sends the lesser value of what the origin specifies and the edge cacheโ€™s remaining duration. This is the default behavior.
  • **Greater value: origin header or remaining edge TTL**. Sends the greater value of what the origin specifies and the edge cacheโ€™s remaining duration.
  • **Remaining edge TTL**. Sends the value of the edge cacheโ€™s remaining duration, without comparing it to the originโ€™s headers.
  • **Full edge TTL (max-age)**. Sends the `cache:max-age` value applied to the object, without evaluating the cacheโ€™s duration.
  • **Fixed value**. Manually set how long cached objects remain in the cache.
  • **Calculate Expires from origin Cache-Control**. Sends the value of the originโ€™s header, without evaluating the edge cacheโ€™s duration.

Send Headers

Specifies the HTTP headers to include in the response to the client.

  • **Send both Cache-Control and Expires**. Sends both `Cache-Control` and `Expires` headers.
  • **Send only Cache-Control**. Sends only the originโ€™s `Cache-Control` header.
  • **Send only Expires**. Sends only the originโ€™s `Expires` header.
  • **Send same headers as origin**. Sends the same set of `Cache-Control` and `Expires` headers received from the origin.

Mark as Private

When enabled, adds a Cache-Control: private header to prevent objects from being cached in a shared caching proxy.

Max-age

With Cache Lifetime set to Fixed Value, sets the duration of the cache. Setting the value to 0 equates to a no-cache header that forces revalidation.


Did this page help you?