web页面整体加载过程:从用户输入url并回车到最终页面加载完成的整个过程
-
1.用户输入url并回车
-
2.浏览器进程检查url,组装协议,构成完成的url
-
3.浏览器进程间通信(IPC)把url发送给网络进程
-
4.网络进程接受rul后进行本地缓存检查,如果有缓存资源则返回给浏览器,如果没有,网络进程响应web服务器发起http网络请求
http请求过程:
1. DNS解析,获取IP地址端口号,(如本地DNS已缓存就直接使用)
2. http+端口号向服务器建立TCP连接
3. 构建请求头,请求体,请求行等,发送相关请求信息
4. 服务器响应后,网络进程响应头和相应信息,并分析响应信息网络进程解析响应流程:
4. 检查状态码,确定是否需要重定向
5. 200响应处理,检查响应类型,content-Fype,如果是字节流类型,则交给下载管理器执行下载操作,该流程结束;如果是html类型,则通知浏览器,进行渲染工作前期准备 -
5.准备渲染进程
浏览器进程检查当前的url是否和之前的打开的渲染进程名相同,如果相同,则复用原来的进程,不同则开启新的渲染进程 -
6.传输数据,更新状态
浏览器进程,渲染进程,网络进程等各进程间相互通信,传输文档,数据,安全监测,准备渲染工作 -
7.渲染进程开始渲染页面
-
8.浏览器渲染流程
- 构建DOM树
- 计算样式
- 布局阶段(位置计算)
- 分层
- 生成图层 绘制列表
- 栅格化操作
- 合成和显示