Thanks Patrick. It will be interesting to learn how the experiment goes, and any possible improvements, especially if resources are changing hourly.

I look forward to learning more about how sites will attest to always return the same payload, if the experiment proves successful.

One last question: which milestones are you requesting to run the experiment for? Your chromestatus entry doesn't indicate that - I think you need to add an experiment milestone (which is probably why this intent didn't show up in our review queue).

On 4/29/25 2:20 PM, Patrick Meenan wrote:
The previous experiment required an exact match of a full URL and payload hash (on a path to automate allow-listing responses). Unfortunately, most of the interesting third-party resources are updated quite regularly (usually at least daily if not every few hours) so the URL list and payload hashes were both very stale by the time the experiment was run.

This experiment learned from those results and is targeting a MUCH smaller list of manually curated resources that are much more popular and uses a URLPattern to allow for versioned variants of the URLs (for things like the YT player JS or pubads_impl which include versions in the path) and removes the hash-matching requirement for the payload (for things like analytics.js which update in-place).

It won't impact as many third-party resources, by design, but the resources that it does impact are going to be MUCH more likely to be seen by most users multiple times within a browsing session (and within the update window for any of them).

On Tue, Apr 29, 2025 at 10:52 AM Mike Taylor <miketa...@chromium.org> wrote:

    Hey Patrick,

    This sounds related to a previous experiment
    
(https://groups.google.com/a/chromium.org/g/blink-dev/c/9xWJK3IgJb4/m/SYLfUccOBgAJ)
    - could you describe how this experiment is similar or different
    (or perhaps builds upon the results from the previous experiment)?

    thanks,
    Mike

    On 4/23/25 10:46 AM, Patrick Meenan wrote:


            Contact emails

    pmee...@chromium.org


            Specification

    None


            Design docs


    
https://docs.google.com/document/d/1xaoF9iSOojrlPrHZaKIJMK4iRZKA3AD6pQvbSy4ueUQ/edit?usp=sharing


            Summary

    For a small number (hundreds) of hand-curated static third-party
    scripts that are used on a large portion of the web, Chrome will
    use a single-keyed HTTP cache to store those resources. This
    helps users and site owners with faster performance for those
    scripts that are very widely used while maintaining the privacy
    protections of the partitioned disk cache. This feature targets
    the scripts that most users are likely to see multiple times
    across multiple sites in any given browsing session. They are
    usually not in the critical path of the page loading and may not
    impact the common performance metrics but they are still
    important for the healthy operation of the web. The list of
    candidate scripts is curated from the HTTP Archive dataset. This
    includes site-independent things like common analytics scripts,
    social media embeds, video player embeds, captcha providers and
    ads libraries. It allows for code that uses versioned URLs as
    long as the versioning is not a manual process by embedders and
    that the same version is sent to everybody at a given point in
    time with the same contents. This does not include things like
    common Javascript libraries where they are commonly self-hosted
    or where the URL references a specific version of the library and
    it is up to site owners to manually select a version.



            Blink component

    Blink>Network
    
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ENetwork%22>


            TAG review

    None


            TAG review status

    Not applicable


            Risks



            Interoperability and Compatibility

    This change is internal to Chrome and should be completely
    transparent to the web platform with no interoperability risks.



    /Gecko/: N/A

    /WebKit/: N/A

    /Web developers/: No signals

    /Other signals/:


            Ergonomics

    N/A



            Activation

    N/A



            Security

    Cache partitioning added a level of privacy protection that is
    being disabled for a small number of resources where it is deemed
    safe to do so. The linked document and issue provide the details
    on the protections that are in place to minimize the privacy
    exposure.



            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

    For the purposes of the experiment, we will target around a dozen
    of the most-impactful scripts (mostly ads and analytics) and work
    with the script owners to measure the resulting impact (on
    performance, reliability and business metrics).

    If these scripts show minimal impact from using a shared cache
    then there is no value in the added complexity for the feature
    and it can be documented and closed.

    If there is significant impact then it is likely worth pursuing
    further (and will also be documented for other similar efforts).


            Ongoing technical constraints

    None



            Debuggability

    The cache key used for any given resource is exposed in the
    netlog
    <https://www.chromium.org/for-testers/providing-network-details/>
    which can be used to verify if a given resource used the shared
    cache or not.



            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
            
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?

    No


            Flag name on about://flags

    None


            Finch feature name

    CacheSharingForPervasiveScripts


            Non-finch justification

    None


            Requires code in //chrome?

    False


            Tracking bug

    https://issues.chromium.org/u/1/issues/404196743


            Measurement

    The success of this feature will be measured directly with the
    owners of a small number of targeted scripts with a web-exposed
    experiment.


            Estimated milestones

    No milestones specified



            Link to entry on the Chrome Platform Status

    https://chromestatus.com/feature/5202380930678784

    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 visit
    
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPq58w50QC8Vj9qUT_eyAdz2nFx2jEW0033KFeDeM6v%3D4J-mKw%40mail.gmail.com
    
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPq58w50QC8Vj9qUT_eyAdz2nFx2jEW0033KFeDeM6v%3D4J-mKw%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 visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/bace2afd-2bd8-4218-a459-fcf58b7ef46f%40chromium.org.

Reply via email to