- 作者:老汪软件技巧
- 发表时间:2024-09-29 04:00
- 浏览量:
摘要 - 性能优化
【可测量指标】:DomReady(DomContentLoaded)事件发生时
【可使用工具】:Network、performance、rendering、FPS、coverage
【可优化方法】:DNS prefetch
TCP:连接复用、并行化、HTTP管道、多路复用、server push
HTTP:资源合并、内联、压缩、精简、cookie free、CDN、缓存、内容协商
代码:位置、拆分、动态导入、懒加载、预加载、CSS优化、JS优化
两个常考问题 - 基础篇
前端面试中经常遇见这两个常考的、非常大的、一旦被面试官深挖经常会哑口无言的问题:
输入URL发生了什么?浏览器如何渲染页面
看似这两个问题是在考察你对整个浏览器原理的理解程度,但实际上不仅限于此,当你弄清这两个问题中所有的过程以及逻辑以及各个环节的关联,其实是在为前端的性能优化做准备。
了解清楚这些知识点,才知道前端能够性能优化的点在哪里,这也对以后工作中有帮助。话不多说,且看下文。
graph LR; A(用户在浏览器输入 URL)-->B(DNS 解析); B-->C(建立 TCP 连接); C-->D(发送 HTTP 请求); D-->E(服务器处理请求); E-->F(服务器返回 HTTP 响应); F-->G(浏览器解析响应); G-->H(浏览器渲染内容);
graph LR; A["浏览器接收 HTML、CSS、JS 等资源"] --> B["构建 DOM 树"]; B --> C["构建 CSSOM 树"]; C --> D["结合 DOM 和 CSSOM 生成渲染树"]; D --> E["布局(计算每个元素的位置和大小)"]; E --> F["绘制(将元素绘制到屏幕上)"];
性能优化 - 工具
打开开发者工具,找到检查即可查看运行情况
性能优化 - 方法DNS prefetch 预解析,一种方法是通过在dns中的head头加入dns- prefetch标签
rel="dns-prefetch" href="//example.com">
2. TCP