美文网首页三月听我说
网络基础6--在浏览器中输入www.baidu.com后执行的全

网络基础6--在浏览器中输入www.baidu.com后执行的全

作者: 九斤吖 | 来源:发表于2018-10-21 16:54 被阅读58次

    牛客网的参考答案 :

    1、 客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.181.27.48,然后通过TCP进行封装数据包,输入到网络层。

    2、在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把响应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。

    3、客户端的网络层不用关心应用层或者传输层的东西,主要做的就是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,无非就是通过查找路由表决定通过哪个路径到达服务器。

    4、客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就就可以使用ARP的请求应答交换的IP数据包。现在就可以传输了,然后发送IP数据包到达服务器的地址。


    事件顺序 :

    浏览器获取输入的域名www.baidu.com

    浏览器向DNS请求,解析www.baidu.com的IP地址

    域名系统DNS解析出百度服务器的IP地址

    浏览器与该服务器建立TCP连接(默认端口80)

    浏览器发出HTTP请求,请求百度首页

    服务器通过HTTP响应把首页文件发送给浏览器

    TCP连接释放

    浏览器将首页文件进行解析,并将Web页显示给用户

    涉及到的协议:

    应用层:HTTP(超文本传输协议),DNS(域名解析服务)

    传输层:TCP(传输控制协议,为HTTP提供可靠的传输协议),UDP(用户数据报协议,DNS使用UDP传输)

    网络层:IP(IP数据包传输和路由选择),ICMP(网际控制报文协议,提供网络传输过程中的差错控制),ARP(地址解析协议,将本机的默认网关IP地址映射成MAC地址)

    HTTP1.0是短链接,之后自http1.1开始就是默认使用长链接了(Connection:keep-alive),长链接是不会立马释放的,要等keep-alive事件过了才会释放掉TCP连接

    相关文章

      网友评论

      本文标题:网络基础6--在浏览器中输入www.baidu.com后执行的全

      本文链接:https://www.haomeiwen.com/subject/hpibzftx.html