作为前端开发人员,只有了解浏览器的工作原理才能更好的做好优化。下面,我们就来聊一聊,当客户端(浏览器)输入一个网址(URL)后,浏览器具体做了哪些操作吧!
浏览器组成结构
- 用户界面
- 浏览器引擎
- 渲染引擎
- 网络
- UI后端
- JS解释器
- 数据持久化存储
当我们在浏览器中输入URL并且回车后,主要发生四个过程:
- 查找IP
- 建立连接
- 相互通信
- 断开连接
主要流程如下:
- 客户端根据域名查找对应的IP地址;
- 客户端根据IP地址与服务器建立连接;
- 客户端与服务器通信;
- 客户端与服务端断开连接。
查找IP
这一过程又叫做DNS解析,具体过程如下:
- 浏览器搜索自己的DNS缓存,查找成功返回其对应IP地址,失败则进行下一步;
- 搜索系统中的DNS缓存,查找成功返回其对应IP地址,失败则进行下一步;
- 搜索系统中的hosts文件,查找成功返回其对应IP地址,失败则进行下一步;
- 系统发送一个请求到路由器上,路由器查找其缓存,查找成功返回其对应IP地址,失败则进行下一步;
- 系统将域名发送至LDNS(本地域名服务器),查找成功返回其对应IP地址,失败则LDNS向Root Name Server(根域名服务器)发起请求获得域的