demo · v142
Stable ID vs TTL
Compression Dictionary Transport has two levers for keeping CDN cache variants bounded: TTL (expire old dictionaries after N seconds so stale Available-Dictionary headers stop generating new cache variants) and stable ID (reuse the same id= across deploys so the dictionary fingerprint stays constant). The TTL field in Chrome 142 is one of two; ID stability is the other.
Deployment cadence
Dictionary TTL (both strategies)
TTL controls when the browser stops treating a dictionary as eligible for compression. In the stable-ID strategy, TTL also controls how long the single dictionary stays fresh.
Active CDN variants over time (weeks after last deploy):
When to use each lever
Stable ID: ship Use-As-Dictionary: match="/app.js", id="app" on every release. The browser tracks one dictionary fingerprint per id value; CDN sees only ever one variant of the Available-Dictionary value. Works best when your dictionary changes slowly (e.g. you're shipping the same base framework).
TTL (Chrome 142+): ship Use-As-Dictionary: ttl=86400 to expire old dictionary entries after 1 day. The browser stops advertising them in Available-Dictionary, so CDN stops accumulating variants. Works best when your dictionary changes often and you want automatic clean-up without coordinating IDs across releases.
Chrome 142 adds the ttl= parameter specifically to complement the existing ID mechanism — authors now have both levers and can mix strategies per resource type.
see also
- Compression Dictionary TTL — feature index
- Cache Variant Explosion — CDN variant growth simulator
- Dictionary TTL — basic TTL demo
- ChromeStatus entry
- Compression Dictionary Transport spec