前端八股文系列三(url输入之后做了什么)

183 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第25天,点击查看活动详情

题外话

北京最近真的是太热了,感觉自己要化了!!!!

正文

1. 在浏览器输入url到页面出现发生了什么

这道题目,想说多久能说多久,你跟面试官能说了三天三夜都是有可能的

简洁版

  1. 输入url网址了,就接着往下走
  2. DNS域名解析,DNS服务器将域名解析为ip地址
  3. 通过TCP三次握手建立连接通道
  4. 浏览器向服务器发送HTTP请求,请求数据包
  5. 服务器接收浏览器响应,返回给浏览器数据。
  6. 浏览器接收HTTP响应
  7. 浏览器开始构建页面,解析HTML文档,构建DOM树,构建CSSOM树,执行JS脚本。
  8. 渲染页面。

详细版

1. 输入url网址

2. DNS解析,将域名转换为IP地址

  1. 在输入url网址之后,首先会在本机上进行解析,又分为三个步骤:
  • 首先在浏览器自身的DNS缓存中查找,如果有对应的缓存记录,就将对应的记录的IP地址返回,如果没有就进行下一步
  • 接着浏览器在操作系统系统中查找是否有对应的解析缓存记录,如果有对应的记录就讲缓存的IP地址返回,如果没有,就接着进行下一步
  • 上面两步都没有找到对应的缓存IP地址,就在本地的hosts文件里面查找,如果找到就返回对应的IP地址进行返回,如果没有就接着进行下一步
  1. 如果在本机上没有查找对对应的缓存,我们就将信息发送给本地DNS服务器,本地DNS服务器又分为两种:缓存服务器和递归服务器

缓存服务器分为公共DNS服务器和运营商提供的运营商DNS服务器

公共DNS服务器指的是像114,Google这种 运营上服务器指的是附近运营商提供的服务器,这种服务器离用户比较近,性能比较高,大约80%的DNS解析都终止在这一步。

如果缓存服务器依然没有找到,就将信息传递给递归服务器

递归服务器分为三种:根域名服务器、顶级域名服务器、权威服务器

  • 根域名服务器接到本地DNS服务返回的解析结果,把负责这个后缀的顶级域名服务器IP地址返回给本地DNS服务器。
  • 本地DNS服务器根据返回的IP地址找到对应的顶级域名服务器,顶级域名服务器将负责该域名的权威服务器IP返回给本地DNS服务器。
  • 本地服务器接收返回的IP地址,找到权威服务器,权威服务器把对应的主机IP返回给本地DNS服务器。 至此完成了DNS解析全过程。

结束

关于url解析过程如果详细说真的能说很久,今天就单纯的把DNS的解析过程说明白了,明天我们说说TCP三次握手。