计算机网络第九弹——从输入网址到获得网页的过程

在浏览器中输入www.baidu.com后执行的全部过程:

  1. 客户端浏览器通过DNS解析到www.baidu.com的IP地址111.13.100.91(可通过ping www.baidu.com获得),通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到111.13.100.91,然后通过TCP进行封装数据报,输入到网络层。
  2. 在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。
  3. 客户端的网络层不用关心应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是路由器来完成的工作,就是通过查找路由表决定通过那个路径到达服务端。
  4. 客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果找到回应后就可以使用ARP的请求应答交换的IP数据包,现在就可以传输了,然后发送IP数据包到达服务器的地址。

另一种问法及类似回答:

从输入网址到获得页面的过程:

  1. 浏览器查询DNS,获取域名对应的IP地址:具体过程包括浏览器搜索自身的DNS缓存、搜索操作系统的DNS缓存、读取本地的Host文件和向本地DNS服务器进行查询等。对于向本地DNS服务器进行查询,如果要查询的域名包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析;如果要查询的域名不由本地DNS服务器区域解析,但该服务器已经缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析。如果本地域名服务器并未缓存该网址映射关系,那么将根据其设置发起递归查询或迭代查询。
  2. 浏览器获得域名对应的IP地址后,浏览器向服务器请求建立连接,发起三次握手
  3. TCP/IP连接建立起来后,浏览器向服务器发送HTTP请求
  4. 服务器接收到这个请求,根据路径参数映射到特定的请求处理器进行处理,并将处理结果返回给浏览器
  5. 浏览器根据请求到的资源,最终向用户呈现一个完整的页面

猜你喜欢

转载自blog.csdn.net/n1neding/article/details/80861323