从输入url到浏览器显示页面的过程

半学半猜,大胆整理一下,有误请指出。

客户端,浏览器中输入www.baidu.com

1、通过DNS查询域名对应IP
2、通过TCP与对方IP建立连接(3次握手)
3、发送http请求报文

  • http_data = http_head + data
  • tcp_data = tcp_head + http_data
  • ip_data = ip_head + tcp_data

4、封装好的报文通过数据链路层,发送给服务端(链路层中还有ARP协议、以太网等)

服务端

5、解析报文,依次经过链路层、网络层、传输层、应用层解析,得到请求数据
6、服务端响应请求,生成response数据
7、经过HTTP、TCP、IP、数据链路层,封装数据,发送给客户端

客户端

8、TCP断开连接,4次挥手
9、各层解析报文,得到响应数据(html)
10、浏览器解析html,生成页面

附上各协议报文格式

HTTP:来自https://blog.csdn.net/yutiab69/article/details/82869239
在这里插入图片描述
响应报文结构图
在这里插入图片描述
TCP:来自https://blog.csdn.net/qq_38950316/article/details/81087809
在这里插入图片描述
IP:来自https://blog.csdn.net/mary19920410/article/details/59035804
在这里插入图片描述

发布了52 篇原创文章 · 获赞 16 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/Tuzi294/article/details/104302760