Ready for Developer Testing: Compression Dictionary TTL

13 views
Skip to first unread message

Patrick Meenan

unread,
Sep 18, 2025, 11:04:01 AM (23 hours ago) Sep 18
to blink-dev
Contact emails
pme...@chromium.org

Explainer
https://docs.google.com/document/d/1uAutnUWpC6V-ka_MA-4m74YV12LAA6qP1sYjy97S2-0/edit?usp=sharing

Specification
https://github.com/httpwg/http-extensions/issues/2649

Design docs

https://docs.google.com/document/d/1uAutnUWpC6V-ka_MA-4m74YV12LAA6qP1sYjy97S2-0/edit?usp=sharing

Summary
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 default expiration (which is to expire when the underlying resource expires from the HTTP cache).

For example: Use-AsDictionary: match="/*", ttl=600

Would make the response available as a compression dictionary for 10 minutes independent of the HTTP caching headers.

This capability was part of the original feature but dropped during the standards process because of a lack of compelling use cases at the time. New use cases have emerged as the feature gains adoption that make it useful to add as an extension. 

Blink component
Blink>Network

Web Feature ID
compression-dictionary-transport

TAG review
None

TAG review status
Pending

Risks

Interoperability and Compatibility
This feature is backwards-compatible with the existing compression dictionary transport spec. Browsers that do not implement support for "ttl" will fall back to using the cache lifetime of the response.

Gecko
: No signal

WebKit
: No signal

Web developers
: No signals

Other signals
:

Security
The "ttl" can only extend the lifetime of a dictionary for responses that are otherwise cacheable but with a short (or zero) max-age. Responses that are not allowed to be stored in the HTTP cache (no-store or no-cache) will still not be used as a dictionary and can not be extended.

WebView application risks
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications? None

Goals for experimentation
Explore the usefulness of an explicit dictionary lifetime to see if it adds enough value to justify adding it as an extension to the Compression Dictionary Transport spec.

Ongoing technical constraints
None

Debuggability
None

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
Yes

Is this feature fully tested by web-platform-tests?
No

Flag name on about://flags
enable-compression-dictionary-ttl

Finch feature name
CompressionDictionaryTTL

Requires code in //chrome?
False

Estimated milestones
DevTrial on desktop142
DevTrial on Android142


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/6408307086589952

This intent message was generated by Chrome Platform Status.
Reply all
Reply to author
Forward
0 new messages