从输入url到浏览器返回发生了什么?

1.首先查看缓存

缓存分为强缓存与弱缓存

强缓存(200 from cache)时,浏览器如果判断本地缓存未过期,就直接使用,无需发起http请求
协商缓存(304)时,浏览器会向服务端发起http请求,然后服务端告诉浏览器文件未改变,让浏览器使用本地缓存

2.DNS查询得到IP

3.TCP/IP连接

三次握手
三次握手其实可以理解为就是交换了三个报文

从应用层的发送http请求,到传输层通过三次握手建立tcp/ip连接,再到网络层的ip寻址,再到数据链路层的封装成帧,最后到物理层的利用物理介质传输。

4.发送http请求,后台处理

握手成功,浏览器向服务器发送http请求,请求数据包

服务器请求数据,将数据返回到浏览器

5.页面渲染

  1. 解析HTML,构建DOM树

  2. 解析CSS,生成CSS规则树

  3. 合并DOM树和CSS规则,生成render树

  4. 布局render树(Layout/reflow),负责各元素尺寸、位置的计算

  5. 绘制render树(paint),绘制页面像素信息

  6. 浏览器会将各层的信息发送给GPU,GPU会将各层合成(composite),显示在屏幕上

6.关闭TCP连接或继续保持连接

四次挥手
image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容