浏览器输入网址后的过程

39 阅读3分钟

浏览器输入网址后的过程

如下图所示:

  1. 输入网址并回车
  2. 浏览器通过防火墙、网关、代理服务器等
  3. DNS域名解析
  4. 向服务器发送HTTP请求,经过中间路由器转发
  5. 到达指定ip地址,代理转发到服务器
  6. 服务器收到请求,并返回响应
  7. 响应经过中间路由器转发
  8. 浏览器等到响应并渲染

image.png

浏览器处理流程模型

下图说明了 PerformanceTiming接口和 有或无重定向的接口定义的时间属性。 image.png

DNS

记录类型含义
A记录(主机记录)用于返回另一个域名,即当前查询的域名是另一个域名的跳转, 主要用于域名的内部跳转,为服务器配置提供灵活性
IPv6主机记录(AAAA记录IPv6主机记录(AAAA记录) 与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址

解析过程

递归查询:

如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户端的身份,向其他根域名服务器继续发出查询请求报文,即替主机继续查询,而不是让主机自己进行下一步查询。 image.png

迭代查询:

当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP 地址,要么告诉本地服务器下一步应该找哪个域名服务器进行查询,然后让本地服务器进行后续的查询。 image.png 由于递归查询对于被查询的域名服务器负担太大,通常采用以下模式:从请求主机到本地域名服务器的查询是递归查询,而其余的查询是迭代查询。

高速缓存: 为了提高DNS的查询效率,并减轻根域名服务器的负荷和减少因特网上的DNS查询报文数量,在域名服务器中广泛地使用了高速缓存。高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。

由于域名到IP地址的映射关系并不是永久不变,为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器并删除超过合理时间的项(例如,每个项目只存放两天)。 image.png

总结:

浏览器缓存—-->系统hosts文件—-->本地DNS解析器缓存—-->本地域名服务器(本地配置区域资源、本地域名服务器缓存)—-->根域名服务器—-->主域名服务器—-->下一级域名域名服务器 客户端—-->本地域名服务器(递归查询) 本地域名服务器-->DNS服务器的交互查询是迭代查询