一个网页从开始请求到最后显示的过程
- 在浏览器中输入地址。此时会先从浏览器中查找对应的ip地址 如果没有找到 从hosts文件查找 没有就查找路由器缓存,还没有就查找 DNS缓存
- 发送到DNS服务器并获得域名对应的WEB服务器的IP地址(利用了应用层的DNS解析协议)。
- 与Web服务器建立TCP连接。
- 浏览器向Web服务器的ip地址发送相对应的HTTP请求。
- Web服务器响应请求并返回指定的Url地址,或错误信息。如果设置重定向,则重定向到的新的URL地址
- 浏览器下载数据,后解析HTML源文件,解析的过程中实现对页面的排版,解析完成以后在浏览器中显示基础页面。
- 分析页面中的超链接并显示当前页面,重复以上的过程直至无超链接需要发送,完成全部的显示。
注:http是要基于TCP连接基础上的,简单的说,TCP就是单纯建立连接,不涉及任何我们需要请求的实际数据,简单的传输。http是用来收发数据,TCP连接发送数据又经历了如下步骤:
- TCP建立的连接负责发送TCP报文,TCP报文向下封装成IP数据报。
- 网络层的IP数据报又封装成Mac帧,再根据ARP协议有IP地址找到Mac地址。
- 数据链路层将Mac帧发往对应的Mac地址。
- 最后交给物理层进行数据传输。