问题描述
为缩短页面加载时间,我想对外部JavaScript使用dns-prefetch
和preconnect
。
<link rel="dns-prefetch" href="https://example.com">
<link rel="preconnect" href="https://example.com">
如果资源(在我的情况下是外部javascript)已经在浏览器缓存中会发生什么? dns-prefetch
和preconnect
是否不必要地增加了页面加载时间?换句话说:dns-prefetch
和preconnect
仅在首页加载时有用吗?
解决方法
在重复访问中,如果所有资源都从高速缓存中获取,则preconnect / dns-prefetch实际上将是无用的。但是它们不会增加页面加载时间。它们与页面加载并行发生,并且缓存读取不等待DNS / TLC / TCP解析。因此,唯一的缺点是您将创建未使用的TCP连接并稍微增加服务器上的负载。