DNS解析(缓存)
什么是DNS?
- 百度一下,不难得知,DNS全名为域名系统协议,作用为IP地址和域名之间的相互转换
而DNS解析就是DNS的应用,在你访问域名的时候,将域名转化为IP地址
什么是DNS缓存
- 简单来说,每当你访问一次域名后,浏览器和计算机等设备会帮你记录下相应网址的IP地址,大大的减少了网络请求的消耗
缓存的查找顺序
- 查找浏览器DNS缓存
- 查找本地DNS缓存(CMD -> ipconfig /displaydns)
- 查找路由DNS缓存
- 查找运营商的DNS缓存(正常最多到此结束)
- 查找全球13台根DNS服务器(递归查询,基本不会发生)
建立连接(三次握手)
三次握手过程
- 第一次:浏览器向服务器发送连接请求
- 第二次:服务器收到请求后,由服务器向浏览器发送同意连接响应
- 第三次:浏览器接收响应,发送给服务器连接成功的信号
发送请求(请求报文)
接收响应(响应报文)
浏览器解析HTML
- 预解析:发出请求,请求所有外部资源(.css、.js、...)
- 解析HTML:生成DOM树
- 解析CSS:生成CSSOM树
- 将以上两者合并为Render树
- 从根节点开始遍历每一个可见的节点
- 为每一个节点匹配相应的css样式
- 显示可见节点
- 查看JS是否对DOM进行操作
- 有:进行重绘/回流
- 无:NULL
- 展示页面
断开连接(四次挥手)
- 第一次:浏览器向服务器发出请求,请求断开连接
- 第二次:服务器接受请求,向浏览器发出响应,此时响应信息可能没有发送完全
- 第三次:服务器发送完响应信息,可以断开
- 第四次:浏览器接收响应,向服务器发送确认断开信息
如有错误,希望提出
希望大家都能早日拿到心仪的offer,加油,共勉