(1)DNS解析:将域名解析成IP地址后端
在浏览器输入域名后,首先要经过域名解析,由于浏览器并不能直接经过域名找到对应服务器,要靠IP地址;浏览器
域名解析,即DNS协议经过提供域名查找IP地址,DNS是一个网络服务器;缓存
DNS优化与应用:DNS存在多级缓存,包括浏览器缓存、系统缓存、路由器缓存、IPS服务器缓存、根域名服务器缓存、顶级域名服务器缓存、主域名服务器缓存;服务器
DNS负载均衡(DNS重定向):在DNS服务器中为同一个主机名配置多个IP地址,将客户访问引到不一样服务器上,使得不一样用户访问不一样服务器,以达到负载均衡;CDN就是利用的DNS的重定向技术;网络
dns-prefetch:是一种DNS预解析技术,当你浏览网页时,浏览器会在加载网页时对网页中的域名进行解析缓存,这样在你单击当前网页的链接时就无需进行DNS解析,减小等待时间;负载均衡
(2)TCP链接:三次握手布局
(3)发送HTTP请求fetch
TCP三次握手结束后,开始发送HTTP请求报文优化
(4)服务器处理请求并返回HTTP报文线程
(5)浏览器解析渲染页面
浏览器构成:用户界面、浏览器引擎、渲染引擎、网络、JS解释器、UI后端、数据存储
多进程的浏览器内核:GUI线程、JS引擎线程、事件触发线程、定时器线程、网络请求线程
浏览器内核拿到内容后,渲染可分为:
1、解析HTML,构建DOM树
2、解析CSS,生成CSS规则树
3、合并DOM树和CSS规则树,生成render树
4、布局render树,主要负责各元素尺寸、位置的计算
5、绘制render树,绘制页面像素信息
Layout,也称Reflow,即回流,通常意味着元素的内容、结构、尺寸发生了变化、须要从新计算样式和渲染树
Repaint,即重绘,意味着元素的一些外观之类的好比背景色、边框颜色、文字颜色等,这时只需应用新样式绘制这个元素就能够了
(6)断开连接:TCP四次挥手
当数据传输完毕,须要断开TCP链接,发生四次挥手