我们输入一个域名:www.baidu.com,然后点击确认。
浏览器查找域名的IP地址。
向Web服务器建立TCP连接,然后发送HTTP请求。
断开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. 浏览器显示页面中所有文本。