c. 请介绍浏览器从输入url到返回数据过程中发生了什么?

从大致上来讲经历了

客户端获取URL - > DNS把域名解析成IP地址 - > TCP连接 - >发送HTTP请求 - >服务器处理请求 - >返回报文 - >浏览器解析渲染页面 - > TCP断开连接

客户端:

1.客户端获取URL

2.然后通过DNS把域名解析成IP地址,再根据HTT协议生成HTTP请求报文(应用层),

3.传输层根据TCP协议建立客户端和服务端的连接,并且TCP协议再把请求报文按序号分割成多个报文段。

4.网络层把传输层的每一个数据段增加 源IP地址和目标IP地址得到数据包,并根据IP协议(传输数据),ARP协议(获取MAC地址),OSPF协议(选择最优路径),搜索服务器地址,一边中转一边传输数据。

5.数据链路层把每个数据包加上MAC地址变成数据帧;

6.物理层把数据帧变成数字信号(bit流)。

服务端:

1.服务端收到bit流后,数据链路层发现MAC地址是自己的,去掉MAC地址给它的网络层,网络层去掉它的IP地址给出传输层,传输层把数据给应用层,应用层把各个数据拼接起来。最后处理这段请求,返回报文。

按照相同的通信过程,客户端接收报文,在浏览器解析渲染页面,通信结束后TCP通过四次挥手断开连接。

猜你喜欢

转载自www.cnblogs.com/jingpeng77/p/12711480.html
今日推荐