从输入url到页面返回的全过程

  1. 我们输入一个域名:www.baidu.com,然后点击确认。

  2. 浏览器查找域名的IP地址。

  3. 向Web服务器建立TCP连接,然后发送HTTP请求。

  4. 断开TCP连接,显示文件内容。

全过程: 
输入 
1. 我们输入一个域名:www.baidu.com

在缓存中查找IP地址 
2. 浏览器查找浏览器缓存,如果有域名的IP地址则返回,如果没有继续查找; 
3. 系统查找系统缓存,如果有域名的IP地址则返回,如果没有继续查找; 
4. 路由器查找路由器缓存,如果有域名的IP地址则返回,如果没有继续查找;

DNS查询得到IP地址 
5. 主机向本地域名服务器查询(递归查询); 
6. 本地域名服务器采用迭代查询,它先向一个根域名服务器查询; 
7. 根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器的IP地址; 
8. 本地域名服务器向顶级域名服务器进行查询; 
9. 顶级域名服务器告诉本地域名服务器,下一次应查询的权限域名服务器的IP地址; 
10. 本地域名服务器向权限域名服务器进行查询; 
11. 权限域名服务器告诉本地域名服务器,所查询的主机的IP地址; 
12. 本地域名服务器最后把查询结果告诉主机;

建立TCP连接 
13. 主机浏览器获取到Web服务器的IP地址后,与服务器建立TCP连接; 
14. 服务器接收报文后,同意建立连接,向客户机发出确认报文; 
15. 客户机接收到确认报文后,再次向服务器发出报文,确认已接收到确认报文; 
16. 此处客户机与服务器之间的TCP连接建立完成,开始通信;

http应用层操作: 
17. 浏览器发出取文件命令:GET; 
18. 服务器给出响应,将指定文件发送给浏览器;

释放TCP连接 
19. 浏览器所在主机向服务器发出连接释放报文,然后停止发送数据; 
20. 服务器接收到释放报文后发出确认报文,然后将服务器上未传送完的数据发送完; 
21. 服务器数据传输完毕后,向客户机发送连接释放报文; 
22. 客户机接收到报文后,发出确认,然后等待一段时间后,释放TCP连接;

显示 
23. 浏览器显示页面中所有文本。

猜你喜欢

转载自blog.csdn.net/qq_26857649/article/details/82051560