Hi, blink-dev@ members. The origin trial for the new CompressionDictionaryTransport feature is now available in the Origin Trial console at: https://developer.chrome.com/origintrials/
We have also published a document that provides more information about the feature and how to participate in the trial. The document can be found here: https://chromium.googlesource.com/chromium/src/+/main/docs/experiments/compression-dictionary-transport.md We hope this information is helpful. Please let us know if you have any questions. Thanks. On Thu, Jul 27, 2023 at 12:29 AM Mike Taylor <miketa...@chromium.org> wrote: > LGTM to experiment from 117 to 122 inclusive. > > (Good luck, looks cool!) > On 7/25/23 9:52 PM, Tsuyoshi Horo wrote: > > Contact emails h...@chromium.org, pmee...@chromium.org, > yoavwe...@chromium.org, kenjibah...@chromium.org > > Explainer https://github.com/WICG/compression-dictionary-transport > > Specification https://github.com/WICG/compression-dictionary-transport > > Design docs > > https://docs.google.com/document/d/1IcRHLv-e9boECgPA5J4t8NDv9FPHDGgn0C12kfBgANg/edit > https://github.com/WICG/compression-dictionary-transport > > https://datatracker.ietf.org/doc/draft-meenan-httpbis-compression-dictionary > > Summary > > This feature adds support for using designated previous responses, as an > external dictionary for Brotli-compressing HTTP responses. > > > Blink component Blink>Network > <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ENetwork> > > TAG review https://github.com/w3ctag/design-reviews/issues/877 > > TAG review status Pending > > Risks > > > Interoperability and Compatibility > > Interoperability and Compatibility risk are low. This feature introduces a > new compression method for transporting resources over HTTP. Web sites can > know the browser support for the new feature by checking > `document.createElement('link').relList.supports('dictionary')`. Also web > servers can know the browser support by checking the `Accept-Encoding` > request header and the new `Use-As-Dictionary` request header. This feature > is an opt-in feature. And the dictionary storage is isolated using the top > level site and the frame origin as the key. That means, if there is no > dictionary registered for the site, the behavior of Chrome will not change > while browsing the site. Also this feature is usable only on > secure-context. So this feature will not increase the risk of > non-supporting network proxies misunderstanding the content’s encoding. > > > *Gecko*: Positive ( > https://github.com/mozilla/standards-positions/issues/771) > > *WebKit*: No signal ( > https://github.com/WebKit/standards-positions/issues/160) > > *Web developers*: No signals > > *Other signals*: > > Ergonomics > > To reduce memory usage in network services, dictionary metadata is stored > in a database on disk. And to avoid performance degradation for normal > requests that do not use a dictionary, the reading of this metadata is > designed not to block network requests. In other words, if the reading of > metadata from the database is not completed before the request header is > ready to be sent to the server, the dictionary may not be used even if it > is already registered in the database. > > > Activation > > To adopt this feature, web developers need to make changes in their web > servers. Currently there is no major server softwares which supports > compression dictionaries. > > > Security > > Chrome registers the response as a dictionary only when the response is > CORS-readable from the document origin. Also we use a registered dictionary > to decompress the response only when the response is CORS-readable from the > document origin. Additionally, the dictionary and the compressed resource > are required to be from the same origin as each other. So this should not > introduce any new attack vector of stealing information. The dictionaries > are partitioned with the storage cache and are cleared whenever cookies or > cache is cleared to ensure that the dictionaries can not be abused as a > tracking vector. > > > 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? > > > Goals for experimentation We would like to collect feedback on the > Compression Dictionary Transport feature of API design. We would also like > to run some experiments using this feature to measure its performance > impact. > > Ongoing technical constraints > > None > > > Debuggability > > We have introduced chrome://net-internals/#sharedDictionary. Using it, > web developers can manage the registered dictionaries. Also web developers > can check the related HTTP request and response headers (Use-As-Dictionary, > Sec-Available-Dictionary, Accept-Encoding, Content-Encoding) using > DevTools' Network tab. > > > Will this feature be supported on all six Blink platforms (Windows, Mac, > Linux, Chrome OS, Android, and Android WebView)? Yes > > Is this feature fully tested by web-platform-tests > <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> > ? No. We will rewrite some browser_tests to WPT. > > Flag name on chrome://flags > chrome://flags/#enable-compression-dictionary-transport-backend > chrome://flags/#enable-compression-dictionary-transport > > Finch feature name CompressionDictionaryTransportBackend > CompressionDictionaryTransport > > Requires code in //chrome? True > > Tracking bug https://crbug.com/1413922 > > Launch bug https://launch.corp.google.com/launch/4266286 > > Estimated milestones > OriginTrial desktop last 122 > OriginTrial desktop first 117 > OriginTrial Android last 122 > OriginTrial Android first 117 > > Link to entry on the Chrome Platform Status > https://chromestatus.com/feature/5124977788977152 > > Links to previous Intent discussions Intent to prototype: > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADk0S-Vb1ON2XT2%2BBP27tJ4ivjgyu63jcd667am4TwcVFGsbuw%40mail.gmail.com > > This intent message was generated by Chrome Platform Status > <https://chromestatus.com/>. > -- > You received this message because you are subscribed to the Google Groups > "blink-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to blink-dev+unsubscr...@chromium.org. > To view this discussion on the web visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADk0S-WyukWVPpFMFYSWVZ1%2BOuXVjtNfWiCqKvDYcdRwaApZLA%40mail.gmail.com > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADk0S-WyukWVPpFMFYSWVZ1%2BOuXVjtNfWiCqKvDYcdRwaApZLA%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADk0S-X5Bb5nevc44x7eY5d71%3DJFFT2-6Aryn5njUfTVq9bYtA%40mail.gmail.com.