Prefetch processing model changes

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.

Documentation

Specification

Public discussion

Status in Chromium

Blink>Loader>Preload


In development (tracking bug)

Consensus & Standardization

After a feature ships in Chrome, the values listed here are not guaranteed to be up to date.

Owner

Last updated on 2019-09-09