SEARCH

网站web前端性能优化之DNS预加载技术

发布日期:2018年04月19日,网站分类:网站新闻

当我们谈到前端的性能时,总是会提到比如合并、压缩、缓存或者在服务器上开启gzip之类的,目的都是为了让页面加载的更快。

资源预拉取(prefetch)则是另一种性能优化的技术。通过预拉取可以告诉浏览器用户在未来可能用到哪些资源。

Pre-fetching会提示浏览器那些未来一定或可能使用到的资源,有时在当前页面见效,有些则在未来可能打开的页面生效。 作为开发者,我们比浏览器更懂自己的应用。我们可以利用这些技术提前告知浏览器web中用到的核心资源。

以前这种实践也被称为『prebrowsing』。但这并不是一种单一的技术,实际上可以拆分成很多小点:dns-prefetch, subresource, prefetch, preconnect, 和 prerender.


在后面我们讲过《WEB前端开启浏览器DNS预解析prefetch方法》的详细解说,大家可以在看一下。


网站web前端性能优化之预加载技术

DNS prefetch

DNS prefetching通过指定具体的URL来告知客户端未来会用到相关的资源,这样浏览器可以尽早的解析DNS。比如我们需要一个在example.com的图片或者视频文件。在<head>就可以这么写:


<link rel="dns-prefetch"href="//cloud.rongkeji.cn">


当请求这个域名下的文件时就不需要等待DNS查询了。项目中有用到第三方的代码时这么做尤其有益(其他的使用场景,比如当静态资源和HTML不在一个域上,而在CDN上;又比如在重定向前可以加上DNS prefetch)。

Harry Roberts在他的前端性能优化文章中建议:

简单的一行就能让支持的浏览器提前解析DNS。也就是说在浏览器请求资源时,DNS查询就已经准备好了。

这可能看起来是个非常微不足道的性能提升,而且还不是必须的–Chrome总是会做类似的处理,用户只要在地址栏敲入一部分域名,如果命中了历史常用的网站,Chrome就会提前解析DNS、预拉取页面。


Preconnect

和DNS prefetch类似,preconnect不光会解析DNS,还会建立TCP握手连接和TLS协议(如果需要)。用法如下:


<link rel="preconnect" href="https://cdn.rongkeji.cn">


现代浏览器竭尽所能的尝试预测网站可能需要哪些链接。通过提前连接,浏览器可以提前建立必要的通信,消除了实际请求中DNS、TCP和TLS的耗时。不过,即使是只能的现代浏览器,也没办法为每个网站可靠的预测所有连接。

幸运的是开发者可以告诉浏览器哪些通信需要在实际请求发起前就提前建立连接。


预判用户的操作虽然不易,而且还需要大量的设计和测试工作,但是性能的提升是值得我们孜孜不倦的去追求的。如果我们愿意试验这些预加载技术,我们肯定能显著地提升用户体验。


关键词:WEB前端 服务器

转载请注明来自:https://www.kufan.cn/news/72.html


上一篇:企业网站为什么需要选择独立IP服务器

下一篇:当企业网站大面积改版后需要注意点什么?

地区分布

  • Da Tong
  • He Fei

昆明酷番网络科技有限公司

地址:昆明市官渡区鑫都韵城6栋20-B06

提供了定制化的行业网站建设解决方案

昆明酷番网络科技有限公司

地址:昆明市官渡区鑫都韵城6号楼20-B06

酷番建站技术服务,助您打造高端形象

公众号

微信公众号