Edge-Control

The HTTP Edge-Control response header is an unofficial header controlling Caching and content handling at Akamai CDN edge servers, operating independently of browser-facing Cache-Control directives.

Usage

Origin servers send Edge-Control to instruct Akamai edge nodes on how to cache and deliver a response. The header functions as a CDN-layer override, operating independently of Cache-Control directives intended for browsers. This separation allows aggressive edge caching policies without affecting client-side caching behavior.

Akamai introduced Edge-Control as part of its proprietary edge infrastructure, and Akamai's current caching documentation calls the header generally deprecated while confirming its settings take precedence over Cache-Control and Expires. Akamai leaves the directive semantics undocumented, so the meanings below follow community documentation and observed behavior. In crawl data the header reaches clients unstripped, observed across Meta (Facebook, Instagram) responses, most often as a simple max-age directive on static resources and robots.txt files.

For multi-CDN setups or vendor-neutral configurations, Surrogate-Control and CDN-Cache-Control offer similar edge-layer cache control with broader CDN support.

Directives

no-store

The no-store directive tells the edge server to bypass caching entirely. Every request passes through to the origin server. This is the edge-layer equivalent of the Cache-Control no-store directive.

Edge-Control: no-store

max-age

The max-age directive sets the freshness lifetime in seconds for the edge cache. The edge server stores and serves the cached response until the specified duration expires.

Edge-Control: max-age=86400

cache-maxage

The cache-maxage directive sets the edge cache lifetime using a duration format with time unit suffixes. Accepted units include s (seconds), m (minutes), h (hours), and d (days). This offers a more readable alternative to max-age for longer durations.

Edge-Control: cache-maxage=7d

!no-store

The !no-store directive forces the edge server to cache the response even when Cache-Control includes no-store. This override is useful when the origin sends browser-facing no-store directives but still wants the CDN layer to cache the content.

Edge-Control: !no-store

!bypass-cache

The !bypass-cache directive turns off the Bypass cache option configured in Akamai Property Manager for a particular response. The property-level Bypass cache option serves content from the origin without removing cached versions from edge servers. Sending !bypass-cache from the origin restores normal edge caching for that content.

Edge-Control: !bypass-cache

downstream-ttl

The downstream-ttl directive sets a freshness lifetime for downstream caches sitting between the Akamai edge and the client, such as intermediate proxies or parent cache tiers. The value supports time unit suffixes like m (minutes) and h (hours).

Edge-Control: downstream-ttl=60m

Example

A robots.txt response from a Meta property (Facebook, Instagram) with a one-day edge cache lifetime. The edge server caches the response for 86,400 seconds (24 hours) and serves cached copies for the duration. This is the most frequently observed Edge-Control pattern in production.

Edge-Control: max-age=86400

A CDN caching a JavaScript library for seven days at the edge, with downstream caches receiving a 60-minute TTL. The cache-maxage directive uses a day-based format, and downstream-ttl caps intermediate cache freshness at a shorter window.

Edge-Control: cache-maxage=7d downstream-ttl=60m

A streaming or personalized page bypassing CDN caching entirely. The edge server forwards every request to the origin without storing a copy.

Edge-Control: no-store

See also

Last updated: August 17, 2026