在分析网页性能之前要清楚的知道,从我们输入url开始到看到网站,这整个过程到底发生了什么。那么在针对每个过程优化。现在就让我们从前端面试的经典问题走起:从输入url到页面加载完发生了什么?用最简单的话来描述如下:
- DNS解析:从url定位到ip的过程
- 发送网络请求:下载html文档。通常我们使用http协议(现在通常升级到HTTP2.0,SPDY),底层可能是TCP/UTP,这里会有经典的三次握手连接。
3.下载完html文档之后,浏览器开始解析html文档。话说浏览器的解析也可以长到一篇文章来说明,这里简单讲下。就是构建dom树,然后下载css样式,然后渲染树出来,然后浏览器绘制。然后下载js(因为一般js都是放在底部),然后解析js。整个页面完全出来了。
如下是绘制的一个完整的网页请求: