前端性能优化 Dear 丶 2022-06-06 10:25 406阅读 0赞 前端性能优化的方法:合并、压缩、缓存或者在服务器上开启gzip之类的,目的都是为了让页面加载的更快 资源预拉取(prefetch)则是另一种性能优化的技术。通过预拉取可以告诉浏览器用户在未来可能用到哪些资源。 **1、DNS prefetch:** DNS prefetching通过指定具体的URL来告知客户端未来会用到相关的资源,这样浏览器可以尽早的解析DNS。比如我们需要一个在www.funwall.cn的图 片或者视频文件。在<head>就可以这么写: <link rel='dns-prefetch' href='//www.funwall.cn'> 当请求这个域名下的文件时就不需要等待DNS查询了。项目中有用到第三方的代码时这么做尤其有益(其他的使用场景,比如当静态资源和HTML不在 一个域上,而在CDN上;又比如在重定向前可以加上DNS prefetch)。 **2、Preconnect** 和DNS prefetch类似,preconnect不光会解析DNS,还会建立TCP握手连接和TLS协议(如果需要)。 <link rel='preconnect' href='http://css-tricks.com'> 开发者可以提前告诉浏览器那些通信在实际请求发起前就建立连接 举个栗子: [![xfont-preconnect.png.pagespeed.ic.tC0wdnTl8DuD8UE7Xn1Y.png][]][xfont-preconnect.png.pagespeed.ic.tC0wdnTl8DuD8UE7Xn1Y.png] 上半张图显示了浏览器先拉html、再拉CSS并建立好CSSOM后,发现需要两个外链的字体(在fonts.gstatic.com上),然后浏览器开始发 起两 个请求,具体来说,需要对这个域进行DNS解析、TCP和TLS握手(一个建立后可以复用给另一个连接)。 <link href='https://fonts.gstatic.com' rel='preconnect'c rossorigin> <link href='https://fonts.googleapis.com/css?family=Roboto+Slab:700|Open+Sans' rel='stylesheet'> 目前只支持firefox 39+ chrom46+ 3、Prefetch 当能确定网页在未来一定会使用到某个资源时,开发者可以让浏览器提前请求并且缓存好以供后续使用。prefetch支持预拉取图片、脚本或者任何可 以被浏览器缓存的资源 <link rel='prefetch' href='image.png'> 不同于DNS prefetch,上面的写法可是会去请求、下载资源并且缓存起来。当然也是有一些发生条件的。比如,客户端可能会在弱网络下不去请求较 大的字体文件,Firefox则只会在浏览器空闲的时候prefetch资源.. **prefetch很适用于优化webfonts的性能**。以前,字体文件必须等DOM和CSSOM创建好后才能下载,可如果prefetch了字体,这个瓶颈就能轻松解决 了。Prefetch没有同域的要求 **4、subresource** subresource**可以用来指定资源是最高优先级**的。比如,在Chrome和Opera中我们可以加上下面的代码 <link rel='subresource' href='style.css'> rel=subresource是一种新的连接,指定当前页面资源的提前加载,rel=prefetch指定了下载后续页面用到资源的低优先级 **所以,如果资源是在当前页面需要,或者马上就会用到,则推荐用subresource,否则还是用prefetch** **5、prerender** prerender是一个重量级的选项,它可以让浏览器提前加载指定页面的所有资源 <link rel='prerender' href='/nextpage.html'> 但是要注意,一定要在十分确定用户回点某个链接时才用这个特性,否则客户端就会无端的下载很多资源和渲染这个页面 转载连接:http://blog.csdn.net/franktaoge/article/details/51473823 [xfont-preconnect.png.pagespeed.ic.tC0wdnTl8DuD8UE7Xn1Y.png]: https://1-ps.googleusercontent.com/sk/bYSmB63yuhjL_l7bPRuu4R3ENi/www.igvita.com/posts/15/xfont-preconnect.png.pagespeed.ic.tC0wdnTl8DuD8UE7Xn1Y.png
相关 前端性能优化 性能优化是把双刃剑,有好的一面也有坏的一面。好的一面就是能提升网站性能,坏的一面就是配置麻烦,或者要遵守的规则太多。并且某些性能优化规则并不适用所有场景,需要谨慎使用,请读者带 向右看齐/ 2023年01月17日 12:57/ 0 赞/ 33 阅读
相关 【前端性能优化】Webpack性能优化 目录 1. 什么是Webpack? 2. 提高构建速度 2.1 npm install 过程中的优化 ゞ 浴缸里的玫瑰/ 2022年12月04日 02:27/ 0 赞/ 500 阅读
相关 前端性能优化 减少请求数量 【合并】 如果不进行文件合并,有如下3个隐患 1、文件与文件之间有插入的上行请求,增加了N-1个网络延迟 2、受丢包问题影响更严重 港控/mmm°/ 2022年11月29日 00:55/ 0 赞/ 28 阅读
相关 前端性能优化-CSS性能优化 文章目录 一、内联首屏关键CSS 二、异步加载CSS 异步加载的几种方式 1.js动态创建样式表link元素,并插入到DOM中 ゞ 浴缸里的玫瑰/ 2022年11月13日 14:26/ 0 赞/ 459 阅读
相关 前端性能优化 前端性能优化 1. 减少HTTP请求 基本原理: > 在浏览器(客户端)和服务器发生通信时,就已经消耗了大量的时间,尤其是在网络情况比较糟糕的时候 布满荆棘的人生/ 2022年09月25日 10:26/ 0 赞/ 60 阅读
相关 前端性能优化 文章目录 1.图片优化 1.1 图片懒加载 1.2 图片预加载 1.3 响应式图片加载 1.4 渐进式图片 港控/mmm°/ 2022年09月07日 09:59/ 0 赞/ 114 阅读
相关 前端性能优化 第一部分 1、内容层面 DNS解析优化(DNS缓存、减少DNS查找、keep-alive、适当的主机域名) 避免重定向(/还是需要的) 偏执的太偏执、/ 2022年06月09日 10:30/ 0 赞/ 399 阅读
相关 前端性能优化 前端性能优化的方法:合并、压缩、缓存或者在服务器上开启gzip之类的,目的都是为了让页面加载的更快 资源预拉取(prefetch)则是另一种性能优化的技术。通过预拉取可以告诉 Dear 丶/ 2022年06月06日 10:25/ 0 赞/ 407 阅读
相关 前端性能优化 浏览器访问优化 浏览器请求处理流程如下图: ![v2-936b352a942f56296f5b3ecba09cd95e_hd.jpg][] 1、减少http 旧城等待,/ 2022年05月13日 11:22/ 0 赞/ 454 阅读
相关 前端性能优化 1. 减少 HTTP 请求数量 在浏览器与服务器进行通信时,主要是通过 HTTP 进行通信。浏览器与服务器需要经过三次握手,每次握手需要花费大量时间。而且不同浏览器对资源文 拼搏现实的明天。/ 2021年11月01日 21:20/ 0 赞/ 592 阅读
还没有评论,来说两句吧...