1.首先查看缓存
缓存分为强缓存与弱缓存
强缓存(200 from cache)时,浏览器如果判断本地缓存未过期,就直接使用,无需发起http请求
协商缓存(304)时,浏览器会向服务端发起http请求,然后服务端告诉浏览器文件未改变,让浏览器使用本地缓存
2.DNS查询得到IP
3.TCP/IP连接
三次握手
三次握手其实可以理解为就是交换了三个报文
从应用层的发送http请求,到传输层通过三次握手建立tcp/ip连接,再到网络层的ip寻址,再到数据链路层的封装成帧,最后到物理层的利用物理介质传输。
4.发送http请求,后台处理
握手成功,浏览器向服务器发送http请求,请求数据包
服务器请求数据,将数据返回到浏览器
5.页面渲染
解析HTML,构建DOM树
解析CSS,生成CSS规则树
合并DOM树和CSS规则,生成render树
布局render树(Layout/reflow),负责各元素尺寸、位置的计算
绘制render树(paint),绘制页面像素信息
浏览器会将各层的信息发送给GPU,GPU会将各层合成(composite),显示在屏幕上
6.关闭TCP连接或继续保持连接
四次挥手
image.png