Contact: net-dev@chromium.org
As of version 103, Chrome supports Early Hints. Early Hints enable browsers to preload subresources or preconnect to servers before the main response is served. See the explainer how it works.
Chrome supports preload and preconnect in Early Hints for top-level frame navigation.
To reduce security and privacy implications, the HTML and Fetch living standards have some restrictions on when Early Hints can be handled. Chrome ignores Early Hints sent in the following situations to comply these specifications.
- Early Hints sent on subresource requests
- Early Hints sent on iframe navigation
- Early Hints sent on HTTP/1.1 or earlier
Chrome ignores the second and following Early Hints responses. Chrome only handles the first Early Hints response so that Chrome doesn't apply inconsistent security policies (e.g. Content-Security-Policy).
Chrome doesn’t handle dns-prefetch and prefetch in Early Hints yet. We consider supporting them in the future.
If a resource is preloaded by Early Hints, the corresponding
PerformanceResourceTiming
object reports initiatorType
is "early-hints".
performance.getEntriesByName('https://a.test/style.css')[0].initiatorType
// => 'early-hints'
Caveat: initiatorType
may not always set to "early-hints" due to an
implementation limitation. We would like to fix the issue in the future.