103 Early Hints

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.

What’s supported

Chrome supports preload and preconnect in Early Hints for top-level frame navigation.

What’s not supported

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.

Checking Early Hints preload is working

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'

Reliability of initiatorType

Due to an implementation limitation, initiatorType may not always set to “early-hints”. See the proposal for more details.