在浏览器中输入www.qq.com,到看到腾讯网首页,经过了哪些步骤,分别使用了一些什么网络协议,有哪些优化手段来加速这个过程?

1、解析 URL:浏览器做的第一步就是解析 URL 得到里面的参数,将域名和需要请求的资源分离开来,从而了解需要请求的是哪个服务器,请求的是服务器上什么资源等等。

2、对 URL 进行解析之后,浏览器确定了目标服务器和文件名,接下来就需要根据这些消息封装成一个 HTTP 请求报文发送出去。

3. DNS 域名解析:获取 IP 地址封装好 HTTP 请求报文后,在正式还有一项准备工作没有做,那就是获取目标服务器的 IP 地址。基于DNS协议。

4、建立 TCP 连接:需要 TCP 通过三次握手为浏览器和服务器之间建立可靠的连接,保证双方都具有可靠的接收和发送能力。由于是HTTPS,三次握手阶段之后,还会有SSL握手协商加密使用的对称加密密钥。基于TCP协议

5、浏览器发送请求TCP 三次握手完成后,浏览器与目标服务器之间就建立了一个可靠的虚拟通道,于是浏览器就可以发送自己的 HTTP 请求。

6、负责传输的 IP 协议:TCP 在三次握手建立连接、四次握手断开连接、以及连接建立过程中的收发数据(TCP 报文段)等各阶段操作时,都是通过 IP 协议进行传输的,IP 协议将这些阶段的数据添加 IP 首部封装成 IP 数据报再进行传输。

7、使用 ARP 协议凭借 MAC 地址通信:在传输时,需要知道对方的MAC地址,这时候需要用到ARP协议。

8、服务器响应请求。

9、断开 TCP 连接浏览器和服务器都不再需要发送数据后,四次挥手断开 TCP 连接。

10、浏览器显示界面:浏览器接收到服务器返回的数据包,根据浏览器的渲染机制对相应的数据进行渲染。

应用层:HTTPS协议、DNS协议

传输层:TCP协议

网络层:ARP协议、IP协议

你可能感兴趣的:(牛客,网络协议,http,网络)