Chromium is implementing double-keyed HTTP cache which essentially partitions cache so that if A.com requests a subresource, and the browser caches it, requests from B.com for the same subresources will not be able to use the entries created by A.com. This breaks the key use-case for cross-origin prefetch: reusing a cross-origin prefetch for top-level navigations. This chromestatus entry is for tracking the work that needs to be done to prefetch requests to preserve this behavior.
This change is positive because double-keyed HTTP cache forces all cross-origin prefetches to cause a double-download (once for the prefetch, and once for the navigation intending to reuse the prefetch), so preserving the current behavior is good from a performance perspective. From a privacy perspective, reusing cross-origin prefetches for top-level navigations is deemed safe, and maintaining this behavior is currently blocking Chrome’s plans to roll out a double-keyed cache. As previously mentioned, preserving this behavior for cross-origin subresources has been deemed dangerous.
Status in Chromium
In development (tracking bug)
Consensus & Standardization
Search tagsprivacy, security, prefetch, cross-origin, navigation, cache, http cache,
Last updated on 2021-04-05