从输入网址到获得页面的网络请求的过程,请详细说一下
-
域名解析
- 先从浏览器缓存的 dns 记录里查找
- 如未找到,再从 Hosts 文件里去查询是否有该域名和对应的 ip
- 如未找到,再从路由缓存器中查找
- 如未找到,再从 IPS 分配的本地域名服务器缓存中查找
- 如未找到,进行递归查找
图片出处
解释几个名词
本地域名服务器:就是你本地网络配置的时候填写的 dns 服务器 ip,一般都是网络运营商给你分配的。
根域名服务器:根域名就是 .,正常的网址如 www.baidu.com,后面都默认跟一个 .,即 www.baidu.com.,根域名服务器全球只有 13 台,但是有很多的镜像
权威域名服务器:紧接根域名的下一级域名称为权威域名,如 com.、cn.
顶级域名服务器:权威域名的下一级,baidu.com 就是一个顶级域名,而 www 只是这个域名下的一台主机
-
客户端与服务器端进行三次握手,建立 TCP 连接
-
浏览器向服务器发送 http/https 请求
-
服务器接受请求后,经过后端处理返回 html 页面代码
-
浏览器拿到完整的 html 页面代码开始解析,如果遇到引用外部 css、图片等静态资源,依次发送 http\https 请求
-
浏览器渲染完整的页面