Hey Mingyu & Fergal,

Given the fact that getting this heuristic wrong can have *significant*
negative implications on impacted users, I think we need to be very careful
here.
I'd love to see a plan to validate the heuristic we'd pick here such that
its coverage is as close to 100% as we can in terms of hitting the
"excessive cache limits" bucket (and missing the "user sensitive data"
bucket). Alternatively, maybe we could use a mix of outreach and a new API
(or fix Clear-Site-Data) to help us fish out the "excessive cache limits"
crowd?

Cheers :)
Yoav

On Thu, Jul 27, 2023 at 3:05 PM 'Mingyu Lei' via blink-dev <
blink-dev@chromium.org> wrote:

> Hi Mike,
>
> Following our previous response, we would like to share the usage data
> that we have collected from the beta channel. 18.76% of history navigations
> are not restored from BFCache because of the CCNS header only. The
> following are the breakdowns:
>
>    - No RPC containing CCNS response header: 8.63%
>    - *No cookie modification: 6.70%*
>       - With non-HttpOnly cookie modifications only: 1.38%
>       - With HttpOnly or non-HttpOnly cookie modifications: 0.55%
>    - With RPC containing CCNS response header: 10.13%
>    - No cookie modification: 1.01%
>       - With non-HttpOnly cookie modifications only: 7.86%
>       - With HttpOnly or non-HttpOnly cookie modifications: 1.26%
>
> Based on these figures, we will update the proposal to evict the BFCache
> entry with any cookie modification for the current phase. This should give
> us 6.70% improvement in cache hit rate.
>
> We could continue the HttpOnly cookie discussion in the future.
>
> On Sat, Jul 22, 2023 at 12:46 AM Mingyu Lei <le...@google.com> wrote:
>
>> Hi Mike,
>>
>> Thanks for the comments. We have discussed the concerns you raised before
>> and please find the replies below.
>>
>>
>>> https://github.com/fergald/explainer-bfcache-ccns/blob/main/README.md#secure-cookies
>>> references "HTTPS-only" cookies, as well as "secure" vs "insecure" cookies.
>>> By "HTTPS-only", do you mean a cookie that sets the "secure" attribute
>>> (including "__Secure-" prefixes), _and_ sets "HttpOnly"? Or something else?
>>>
>>
>>
>>> Later in
>>> https://github.com/fergald/explainer-bfcache-ccns/blob/main/README.md#allow-ccns-documents-to-be-bfcached-without-the-api,
>>> the proposal is that CCNS pages are safe to bfcache if no "HTTP-only"
>>> cookies have changed. Are these cookies setting only the "HttpOnly"
>>> attribute, or is this intended to say "HTTPS-only" as above?
>>>
>>
>> The short answer is that we will only monitor HttpOnly cookies,
>> regardless of whether they are secure or not. The terms in the explainer
>> were unclear, and we will fix them.
>>
>> I see that
>>> https://github.com/w3ctag/design-reviews/issues/786#issuecomment-1515742477
>>> references this work. Did we learn anything from experimentation in the
>>> wild (not sure if y'all ran an experiment)?
>>>
>>> I'm curious if y'all have looked at stats on the uptake of
>>> secure/httponly cookies vs "non-secure" cookies being set by pages returned
>>> from RPCs sent with an Authorization header (though I wouldn't be surprised
>>> if we don't have UMA for that... perhaps just globally would be useful to
>>> consider).
>>>
>>
>> We are currently conducting a Finch experiment to collect the hit rate on
>> beta, and the data will be available next week. We will share it with you
>> again after we have the data.
>>
>> With that data, we will be able to tell the percentage of page loads that
>> observe HttpOnly cookie changes, any cookie changes, or no cookie changes.
>> There will also be another dimension about whether the page had sent out
>> RPC with CCNS response. There is no pre-existing UMA for this, but we have
>> recorded the reasons why BFCache is not restored.
>>
>> My only concern (which may not be grounded in reality) would be for sites
>>> not following best practices...
>>
>>
>> We expect that there will be cases where pages are restored
>> inappropriately where sites are not following good practice. We don't have
>> an idea of the size of this problem. We will have data from the beta
>> channel soon that will tell us what the difference would be in terms of
>> BFCache hit-rate between *monitoring all cookies* and *only monitoring
>> HttpOnly cookies*. Our thought process looks like this:
>>
>> If *monitoring all cookies* already gives us large hit-rate improvement,
>> *or* the difference between *monitoring all cookies* and *only
>> monitoring HttpOnly cookies* is small, then we are happy to just be
>> conservative and go with *monitoring all cookies*. Otherwise*, we would
>> like to discuss this further.
>>
>>
>> ** "Otherwise" means monitoring all cookies will only give us negligible
>> cache hit-rate improvement, and monitoring HttpOnly cookies will give us a
>> much larger increase.*
>>
>> Thanks,
>> Mingyu
>>
>> On Wed, Jul 12, 2023 at 12:11 AM Mike Taylor <miketa...@chromium.org>
>> wrote:
>>
>>> On 7/11/23 2:19 AM, 'Fergal Daly' via blink-dev wrote:
>>>
>>> [BCC chrome-bfca...@google.com]
>>>
>>> On Tue, 11 Jul 2023 at 15:16, Mingyu Lei <le...@google.com> wrote:
>>>
>>>> +chrome-bfcache <chrome-bfca...@google.com>
>>>>
>>>> On Tue, Jul 11, 2023 at 1:08 PM Mingyu Lei <le...@google.com> wrote:
>>>>
>>>>> Contact emails kenjibah...@chromium.org, fer...@chromium.org,
>>>>> denom...@chromium.org, le...@chromium.org
>>>>>
>>>>> Specification
>>>>> https://github.com/fergald/explainer-bfcache-ccns/blob/main/README.md
>>>>>
>>>>> Design docs
>>>>> https://docs.google.com/document/d/1qX1w6L6laTzpFTh78dvT7wwC1060Z3he2Azp4BAwsUE/edit?usp=sharing
>>>>> https://github.com/fergald/explainer-bfcache-ccns/blob/main/README.md
>>>>>
>>>> This is a really well-written explainer, thank you!
>>>
>>> One point of clarification:
>>>
>>>
>>> https://github.com/fergald/explainer-bfcache-ccns/blob/main/README.md#secure-cookies
>>> references "HTTPS-only" cookies, as well as "secure" vs "insecure" cookies.
>>> By "HTTPS-only", do you mean a cookie that sets the "secure" attribute
>>> (including "__Secure-" prefixes), _and_ sets "HttpOnly"? Or something else?
>>>
>>> Later in
>>> https://github.com/fergald/explainer-bfcache-ccns/blob/main/README.md#allow-ccns-documents-to-be-bfcached-without-the-api,
>>> the proposal is that CCNS pages are safe to bfcache if no "HTTP-only"
>>> cookies have changed. Are these cookies setting only the "HttpOnly"
>>> attribute, or is this intended to say "HTTPS-only" as above?
>>>
>>> Summary
>>>>>
>>>>> A behavior change to safely store (and restore) pages in the
>>>>> Back/Forward Cache despite the presence of a "Cache-control: no-store" 
>>>>> HTTP
>>>>> header on HTTPS pages. This would allow pages to enter BFCache and be
>>>>> restored as long as there are no changes to cookies or to RPCs using the
>>>>> `Authorization:` header.
>>>>>
>>>>>
>>>>> Blink component UI>Browser>Navigation>BFCache
>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:UI%3EBrowser%3ENavigation%3EBFCache>
>>>>>
>>>>> Search tags bfcache <https://chromestatus.com/features#tags:bfcache>
>>>>>
>>>>> TAG review
>>>>>
>>>> I see that
>>> https://github.com/w3ctag/design-reviews/issues/786#issuecomment-1515742477
>>> references this work. Did we learn anything from experimentation in the
>>> wild (not sure if y'all ran an experiment)?
>>>
>>>
>>>>>
>>>>> TAG review status Not applicable
>>>>>
>>>>> Risks
>>>>>
>>>>>
>>>>> Interoperability and Compatibility
>>>>>
>>>> I'm curious if y'all have looked at stats on the uptake of
>>> secure/httponly cookies vs "non-secure" cookies being set by pages returned
>>> from RPCs sent with an Authorization header (though I wouldn't be surprised
>>> if we don't have UMA for that... perhaps just globally would be useful to
>>> consider).
>>>
>>> My only concern (which may not be grounded in reality) would be for
>>> sites not following best practices...
>>>
>>>
>>>>>
>>>>> *Gecko*: No signal
>>>>>
>>>>> *WebKit*: No signal
>>>>>
>>>> Can we request signals?
>>>
>>>
>>>>> *Web developers*: No signals
>>>>>
>>>>> *Other signals*:
>>>>>
>>>>> 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
>>>>>
>>>>>
>>>>> Debuggability
>>>>>
>>>>> Will this feature be supported on all six Blink platforms (Windows,
>>>>> Mac, Linux, Chrome OS, Android, and Android WebView)? No
>>>>>
>>>>> BFCache is not supported on WebView, so this change has no impact
>>>>> there.
>>>>>
>>>>>
>>>>> 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 chrome://flags
>>>>>
>>>>> Finch feature name CacheControlNoStoreEnterBackForwardCache
>>>>>
>>>>> Requires code in //chrome? False
>>>>>
>>>>> Tracking bug
>>>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1228611
>>>>>
>>>>> Launch bug https://launch.corp.google.com/launch/4251651
>>>>>
>>>>> Estimated milestones
>>>>> DevTrial on desktop 116
>>>>> DevTrial on Android 116
>>>>>
>>>>> Anticipated spec changes
>>>>>
>>>>> Open questions about a feature may be a source of future web compat or
>>>>> interop issues. Please list open issues (e.g. links to known github issues
>>>>> in the project for the feature specification) whose resolution may
>>>>> introduce web compat/interop risk (e.g., changing to naming or structure 
>>>>> of
>>>>> the API in a non-backward-compatible way).
>>>>> None
>>>>>
>>>>> Link to entry on the Chrome Platform Status
>>>>> https://chromestatus.com/feature/6705326844805120
>>>>>
>>>>> Links to previous Intent discussions
>>>>>
>>>>> 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/CAAozHLkbL7vmubNOsrA2PKngz4xeV%3DXyuLN73oS4XBea50Xe9A%40mail.gmail.com
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAAozHLkbL7vmubNOsrA2PKngz4xeV%3DXyuLN73oS4XBea50Xe9A%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/CAN_fHtnGnrwo9wQXehgHkfoCYXa7icVqivTUC-ZuimKHkGbY1g%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAN_fHtnGnrwo9wQXehgHkfoCYXa7icVqivTUC-ZuimKHkGbY1g%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/CAL5BFfVVXHzxeVq6ZTLS1Vo6VzV-ppjm2uStpHWTyctyJ%2B5v4w%40mail.gmail.com.

Reply via email to