【吐血整理】从url输入到页面展现全过程-谈前端性能优化

1,017 阅读10分钟

前言

面试官:从url输入到页面展现发生了什么? 这是一道非常经典的面试题,包含前端大部分的基础知识点。

  • 第一步 浏览器通过DNS查找该域名的 IP 地址
  • 第二步 浏览器根据解析得到的IP地址与服务端建立TCP连接
  • 第三步 TCP连接建立成功后,浏览器向服务器发送http请求
  • 第四步 服务器接收http请求,并返回响应
  • 第五步 浏览器对该响应进行解码,解析html生成dom tree
  • 第六步 如果页面中有css,则解析css生成cssom tree
  • 第七步 结合dom tree + cssom tree生成render tree
  • 第八步 布局。
  • 第九步 绘制。
  • 第十步 整个过程结束之后,关闭TCP连接 本文便从这前9步对前端性能优化手段做了全面的总结和文章汇总。
  1. 第一步到第四步:主要涉及网络层的优化
  2. 第四步到第九步:主要涉及渲染层的优化

总览

性能优化总览图

yuque_diagram.jpg

网络层性能优化

DNS解析优化

TCP连接优化

TCP连接数优化

TCP连接过程优化

请求发送响应过程优化

静态资源

减少请求包体积大小

TreeShaking
代码分割
实战
原理
代码压缩混淆

API

按需请求数据

网络链路优化

CDN优化

自动化部署实践

减少请求数

静态资源

缓存优化
原理
实战
合并资源
懒加载&预加载

JS

CSS
图片

API

API结果缓存
防抖节流

渲染层性能优化

DOM构建优化

dom构建阻塞优化

原生DOM

原理
实战

虚拟DOM

按需渲染

SSR(服务端渲染)

CSSOM构建优化

重绘重流优化

React