ampproject/amppackager

Preconnect/dns-prefetch resource hint against web.dev best practices

Opened this issue · 2 comments

I think this combined preconnect and dns-prefetch resource hint is not always doing what it is supposed to do depending on the browser:

html.Attribute{Key: "rel", Val: "dns-prefetch preconnect"})

As far as I can tell, the dns-prefetch is meant to be the fallback in case the preconnect is not supported (as the preconnect would include a DNS resolution). However, the dns-prefetch is mentioned first, which seems odd.

Also, according to web.dev, best practice is to use two separate hints with the dns-prefetch as the second hint serving as a fallback, as using a combined hint will break in Safari:
https://web.dev/preconnect-and-dns-prefetch/#resolve-domain-name-early-with-reldns-prefetch

Related issue in Node.JS optimizer: ampproject/amp-toolbox#960

Sorry I missed this. For reference, in Google this was originally added in http://cl/239478133 per http://b/118606783.

Since you landed a fix on the optimizer, I think it makes sense to do the same here, and it seems safe to do so.