浏览器输入网址后发生了什么

主要有以下几个部分:(简单的说)

1 DNS解析,获取Web服务器IP地址          (关于DNS解析 点此进入博主的另一篇文章

2 建立TCP连接

3 向Web服务器发送HTTP请求

4 Web服务器收到请求并处理

5 Web服务器返回响应(发回一个HTML响应)

6 浏览器对响应解码,并显示数据

7 页面显示完成后,浏览器发送异步请求

8 关闭TCP连接


具体的来说

第一步:在浏览器中输入www.baidu.com后,应用层会使用DNS解析域名,如果本地存有对应的IP,则使用;如果没有,则会向上级DNS服务器请求帮助,直至获得IP。域名解析详细过程会在下文讲到。

第二步:应用层将请求的信息装载入HTTP请求报文,信息包含了请求的方法(GET / POST)、目标url、遵循的协议(http / https / ftp…)等,然后应用层将发起HTTP请求。

第三步:传输层接收到应用层传递下来的数据,并分割成以报文段为单位的数据包进行管理,并为它们编号,方便服务器接收时能准确地还原报文信息。通过三次握手和目标端口建立安全通信。

第四步:网络层接收传输层传递的数据,根据IP通过ARP协议获得目标计算机物理地址—MAC。当通信的双方不在同一个局域网时,需要多次中转才能到达最终的目标,在中转的过程中需要通过下一个中转站的MAC地址来搜索下一个中转目标。

第五步:找到目标MAC地址以后,就将数据发送到数据链路层,这时开始真正的传输请求信息,传输完成以后请求结束。

第六步:服务器接收数据后,从下到上层层将数据解包,直到应用层。

第七步: 服务器接收到客户端发送的HTTP请求后,查找客户端请求的资源,将数据装载入响应报文并返回,响应报文中包括一个重要的信息——状态码,如200,404,500。

猜你喜欢

转载自blog.csdn.net/qq_29373285/article/details/84867253