在学习浏览器的时候发现自己注重学习其中的细节而忽略了为什么去学习它“知其然也要知其所以然”
浏览器的作用
从目的出发,我们才能更好地认识浏览器。[浏览器的作用是检索、展示以及传递web信息](浏览器(网页浏览器)_百度百科 (baidu.com))
检索
检索的步骤
- 输入
-
输入网址或请求信息
- 解析
- 网址解析
- 网址包括协议(http/https)、域名、端口、路径、查询参数(问号传参)和锚点(hash值,定位)
- DNS解析
- dns解析,我们需要在dns服务器上找到域名对应的外网IP,从而找到服务器的物理地址
- 连接
- 找到服务器后,浏览器通过三次握手建立通信通道
- 请求
- 浏览器将请求报文发送给服务器
- 响应
- 服务器将响应内容发给浏览器
- 断开连接
- 渲染
- 见作用二
展示
展示其实就是渲染的过程
- 解析html生成dom树
- 解析css样式,生成style Rules
- dom树和style Ruleshe合成render树
- 为节点分配坐标进行布局
- 遍历render树,调用GPU绘制
传递web信息
其实这一part和第一个作用是一样的,补充就是,提交表单,同上。
优化
以上请求的流程是针对第一次发出该请求,在服务器将响应传递给浏览器时,为避免多次请求同样的信息,浏览器会在此时将响应内容缓存下来,减少了资源的浪费。