先上一张图:
识别URL
输入的URL通过域名解析来得到具体的URI:
- 浏览器自身的DNS缓存:看自身的缓存是否有该URL对应的条目
- 操作系统自身的DNS缓存
- 读取本地hosts文件:若有该域名对应的IP地址,则解析成功
- 向本地配置的首选DNS服务器请求:一般由电信运营商提供,他发起域名请求,然后返回给浏览器
发起TCP的三次握手
- 发送端首先发送一个带SYN标志的数据包给接收端
- 接收端收到后回传一个带有SYN/ACK标志的数据包确认收到
- 最后发送端发送带ACK标志的数据包给接收端表示握手结束
发起HTTP请求
请求报文包括报文首部,空行和报文主体
接收响应结果
响应报文包括报文首部,空行和报文主体
浏览器解析HTML
- 构建DOM树
- 下载各种外部资源
- 构建渲染树
浏览器布局渲染
- 布局:根据渲染树布局,计算每个渲染对象在可视区域中具体位置信息
- 绘制:将计算好的每个像素点信息绘制在屏幕上
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。