v142 · network / connectivity
Compression Dictionary TTL
Adds support for an explicit time-to-live for dictionaries used in Compression Dictionary Transport. This is a backward-compatible extension to the "Use-As-Dictionary" HTTP response header that adds a "ttl" parameter. The ttl is the number of seconds after the dictionary was last fetched that it is usable as a compression dictionary and overrides the defa
concepts
-
Dictionary TTL
Dial a TTL and elapsed time, see the
Use-As-Dictionaryresponse the server emits, and whether the browser still has the dictionary on its next request. -
Bundle Delta Savings
The deployment scenario authors cite: shared dictionaries between versioned JS bundles. Dial the bundle size, change rate, and TTL — see how delta compression shrinks the wire size, and how an expired TTL silently kills the savings.
-
Cache Variant Explosion
A CDN cache keyed on
Available-Dictionarygrows one variant per ever-shipped dictionary. Crank deploys/week, TTL, and stale-user share — see when the variant set converges versus when it blows up. Thettl=parameter is the lever that bounds this growth. -
Cache Lifetime Calculator
Dial dictionary TTL, deployment cadence, visit frequency, and file size — the tool computes miss rate, bytes saved per visit, recommended TTL, and a 30-day freshness timeline bar chart. Also generates the exact
Use-As-Dictionary: ttl=…header value for your inputs. -
TTL vs Cache-Control max-age
A dictionary has two expiry levers:
Cache-Control: max-age(when the browser re-fetches) andUse-As-Dictionary: ttl=(when it stops being offered as a dictionary). Dial both values and see the effective dictionary lifetime, which lever is limiting, and how much TTL is wasted when max-age expires first. -
Stable ID vs TTL
Two levers for bounding CDN cache variant explosion: a stable
id=across deploys (one fingerprint per resource) versus a shortttl=to expire old dictionaries. Side-by-side comparison shows peak variant count, convergence time, and dictionary hit rate as you dial deploys/week, users, and TTL.
why it shipped
This allows for developers to use non-cacheable HTTP responses as dictionaries for future requests (i.e. HTML documents). It also allows for explicitly shortening the lifetime of a dictionary for long-lived resources (to minimize cache variants which vary on Available-Dictionary).