Hi, blink-dev@ folks. Let me announce the start of the new Origin Trial for the Compression Dictionary Transport feature.
If you are already experimenting with it you'll need to register for a new token <https://developer.chrome.com/origintrials/#/view_trial/3693514644397228033> (CompressionDictionaryTransport*V2*). There were header changes since the first trial. So please check this list of changes <https://chromium.googlesource.com/chromium/src/+/main/docs/experiments/compression-dictionary-transport.md#changes-in-m123> if you have any trouble while experimenting with the Compression Dictionary Transport feature in Chrome 123. Thank you. On Thu, Feb 29, 2024 at 4:25 PM Tsuyoshi Horo <h...@chromium.org> wrote: > Thank you! > > On Thu, Feb 29, 2024 at 11:29 AM Domenic Denicola <dome...@chromium.org> > wrote: > >> This Intent did not show up on the API Owners dashboard, which probably >> explains the lack of responses. I'm unsure whether this is a bug in the >> dashboard, or if there's something on ChromeStatus that you need to do >> (e.g. some stage you need to set for extending the origin trial). >> >> LGTM to extend to M125, as that is within the guidelines of 6 milestones >> for M119 to M125. >> >> On Thu, Feb 29, 2024 at 9:13 AM Tsuyoshi Horo <h...@chromium.org> wrote: >> >>> Gentle ping. (Am I missing something?) >>> >>> >>> On Wed, Feb 21, 2024 at 10:57 AM Tsuyoshi Horo <h...@chromium.org> >>> 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://datatracker.ietf.org/doc/draft-ietf-httpbis-compression-dictionary/ >>>> >>>> Design docs >>>> >>>> >>>> https://docs.google.com/document/d/1IcRHLv-e9boECgPA5J4t8NDv9FPHDGgn0C12kfBgANg/edit >>>> >>>> https://github.com/WICG/compression-dictionary-transport >>>> >>>> >>>> https://datatracker.ietf.org/doc/draft-ietf-httpbis-compression-dictionary/ >>>> >>>> Summary >>>> >>>> An Origin Trial for Compression Dictionary Transport was scheduled to >>>> start in Chrome 117 and end in Chrome 122. But due to a critical issue, we >>>> could >>>> not start >>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/NgH-BeYO72E/m/G8fasgKdAQAJ> >>>> the Origin Trial until Chrome 119. The design of the feature has also >>>> evolved during the origin trial and RFC process. We’d like to continue the >>>> Origin Trial to get more feedback on the updated >>>> <https://chromium.googlesource.com/chromium/src/+/40d4e43a01431f680d5e682aaa2c4a543c8f0200/docs/experiments/compression-dictionary-transport.md#changes-in-m123> >>>> feature. >>>> >>>> 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 >>>> >>>> Closed >>>> RisksInteroperability 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 only >>>> usable within a secure-context so this feature will not increase the risk >>>> of having network proxies meddle with the content’s encoding. For >>>> enterprises that have deployed HTTPS-intercepting proxies that do not >>>> properly handle unknown encodings there is an enterprise policy exposed to >>>> disable the feature. >>>> >>>> Gecko: Positive ( >>>> https://github.com/mozilla/standards-positions/issues/771) >>>> >>>> WebKit: No signal ( >>>> https://github.com/WebKit/standards-positions/issues/160) >>>> >>>> Web developers: Positive >>>> >>>> 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 or build processes for static resources. Currently there is no >>>> major server software which supports compression dictionaries. Some CDNs >>>> have shared interest in supporting shared dictionary compression (e.g. >>>> publicly mentioned >>>> <https://blog.cloudflare.com/this-is-brotli-from-origin/#:~:text=One%20development%20that%20we%27re%20particularly%20focused%20on%20is%20shared%20dictionaries%20with%20Brotli.> >>>> in a blog post by Cloudflare). >>>> >>>> >>>> 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 information leaks. >>>> >>>> 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? >>>> >>>> No >>>> >>>> Goals for experimentation >>>> >>>> We would like to collect feedback on the updated API design of >>>> Compression Dictionary Transport feature. Also, we would like to continue >>>> 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). >>>> >>>> >>>> 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 >>>> >>>> 125 >>>> >>>> OriginTrial desktop first >>>> >>>> 123 >>>> >>>> OriginTrial Android last >>>> >>>> 125 >>>> >>>> OriginTrial Android first >>>> >>>> 123 >>>> >>>> >>>> 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/g/blink-dev/c/-qYpLo9DTjw/m/JX6kbUOtBQAJ >>>> >>>> Intent to experiment: >>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/NgH-BeYO72E/m/oup5DpbxAAAJ >>>> >>>> >>>> -- >>> 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-VPyLaum9rma1cpFZhUSF8FuBy3DBJFcwDUmabWE8VC5g%40mail.gmail.com >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADk0S-VPyLaum9rma1cpFZhUSF8FuBy3DBJFcwDUmabWE8VC5g%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-XEN%2BZFxmPeGRF-2WFeWUrRxuNwcWkWDWOrMObyCa-LVg%40mail.gmail.com.