输入URL 到页面展示


输入URL 到页面展示

流程图

展示过程

1. 用户输入

  1. 如果是搜索内容,地址栏会使用浏览器的默认搜索引擎合成搜索关键字的url
  2. 如果输入内容符合url规则,浏览器会根据规则,并加上协议,合成为完整的URL

2. URL请求过程

  1. 浏览器进程会吧进程间通信(IPC)把URL请求发送倒网络进行
  2. 网络进程接收到URL请求后,会查本地进程是否缓存了该资源,有则直接返回资源给浏览器进程
  3. 如果没有,则进行DNS解析,获取IP地址。如果是HTTPS请求,还需要建立TLS连接
  4. 理网络进程利用IP地址和服务器建立连接,完成后,会根据请求行,请求头等信息,并把和该域名相关的cookie信息附加到请求头,然后向服务器端发送构建请求信息
  5. 服务器接受到请求信息后,根据请求信息生成响应数据(包含响应头,响应行,响应体等信息)并发给网络进程
  6. 网络进程接收到响应行和响应头之后,解析响应头内容
  7. 解析响应头为301或者302,重定向到响应头里面的Location字段的地址
  8. 解析响应头为302,会解析响应数据类型,解析响应数据类型为text/html,则浏览器会准备渲染进程
  9. 若为其他响应数据类型,则有对应的处理

3. 准备渲染进程

  1. 每个标签对应一个渲染进程
  2. 如果新页面和当前页面是属于同一个站点的话,那么新页面就会复用父页面的渲染进程

4. 提交文档(URL请求的响应体数据)

  1. “提交文档消息”由浏览器进程发出,渲染进程接收到提交文档后,会和网络进程建立传输数据的管道
  2. 当数据传输完成后,渲染进程会返回“确认提交”的消息给到浏览器进程
  3. 浏览器进程收到确认提交消息后,会更新浏览器界面状态。包括安全转态、地址栏URL、前进后退的历史状态,并更新web压面

5. 渲染阶段

页面完成后,渲染进程会发送一个消息给浏览器进程,浏览器接收到消息后,会停止变迁的图标变化


文章作者: 彭峰
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 彭峰 !
  目录