Intent to Prototype: Remove Prefetch 5-minute Rule

98 views
Skip to first unread message

Noam Rosenthal

unread,
Dec 15, 2022, 1:53:58 AM12/15/22
to blink-dev

Contact emails

nrose...@chromium.org

Explainer

None

Specification

https://github.com/whatwg/html/pull/8111

Summary

Currently when a resource is prefetched using <link rel=prefetch>, we ignore its cache semantics (namely max-age & no-cache) for the first use within 5 minutes, to avoid refetching. Proposing to remove this behavior and use standard HTTP cache semantics.



Blink component

Blink>Loader

Motivation

The 5-minute rule was never standardized, not implemented by other browsers, and now as part of an effort to make prefetch interoperable across browsers I would like to align on a behavior that doesn't include this. Data to support this: 1. A UMA histogram shows that 0.05% of prefetch reuses actually benefit from this. About 85% of prefetches are reused regardless (e.g. inside the max-age anyway), and about 15% are not reused (e.g. 5 minutes have passed, not the first reuse). 2. Developers who rely on this can opt-in to this behavior, by setting a 5-minute max-age on prefetch requests (requests with a [Sec-]Purpose: prefetch header). Spec PR to align on prefetch processing: https://github.com/whatwg/html/pull/8111 Chromium Bug for the removal: https://bugs.chromium.org/p/chromium/issues/detail?id=1345207



Initial public proposal



TAG review



TAG review status

Not applicable

Risks


Interoperability and Compatibility



Gecko: Already not implementing this

WebKit: Positive on aligning on prefetch

Web developers: very low usage of this feature, as shown by UMA

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?



Debuggability



Is this feature fully tested by web-platform-tests?

No

Flag name



Requires code in //chrome?

False

Estimated milestones

No milestones specified



Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5087526916718592

This intent message was generated by Chrome Platform Status.
Reply all
Reply to author
Forward
0 new messages