This feature adds support for using designated previous responses, as an external dictionary for Brotli-compressing HTTP responses.
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.
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.
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.
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.
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
None
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.
OriginTrial desktop last | 122 |
OriginTrial desktop first | 117 |
OriginTrial Android last | 122 |
OriginTrial Android first | 117 |
LGTM to experiment from 117 to 122 inclusive.
(Good luck, looks cool!)
--
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+...@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.
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 <mike...@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
ho...@chromium.org, pmeenan@chromium.org, yoavweiss@chromium.org, kenjibaheux@chromium.org
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
Hey folks,Glad to see there's excitement around the OT; was wondering if there has been any work to extend Compression Streams for zstd as part of this effort? I don't see it in the explainer, and it would be great for us not to be adding new ecodings that aren't also exposed to userland.Best,Alex
On Thursday, August 3, 2023 at 9:23:13 PM UTC-7 Tsuyoshi Horo wrote:
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 <mike...@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
ho...@chromium.org, pme...@chromium.org, yoav...@chromium.org, kenji...@chromium.org
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.