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

  1. Dictionary TTL

    Dial a TTL and elapsed time, see the Use-As-Dictionary response the server emits, and whether the browser still has the dictionary on its next request.

  2. 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.

  3. Cache Variant Explosion

    A CDN cache keyed on Available-Dictionary grows 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. The ttl= parameter is the lever that bounds this growth.

  4. 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.

  5. TTL vs Cache-Control max-age

    A dictionary has two expiry levers: Cache-Control: max-age (when the browser re-fetches) and Use-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.

  6. Stable ID vs TTL

    Two levers for bounding CDN cache variant explosion: a stable id= across deploys (one fingerprint per resource) versus a short ttl= 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).

references