美文网首页
url解析流程

url解析流程

作者: 牛牛_735d | 来源:发表于2019-11-13 15:47 被阅读0次
  • 浏览器进程主要负责用户交互、子进程管理和文件存储等功能

  • 网络进程是面向渲染进程和浏览器进程等提供网络下载功能

  • 渲染进程主要职责是把从网络下载的HTML、JS、CSS图片等资源解析为可显示赫尔交互的页面

请求解析流程

大致可以描述为:
1. 首先从浏览器进程输入请求URL
2. 网络进程发起URL请求
3. 服务器响应URL请求之后、浏览器进程开始准备渲染进程
4. 渲染进程准备好之后、向渲染进程提交网络进程响应的数据、称为提交文档阶段
5. 渲染进程接收完整文档信息之后、开始解析加载页面及子资源、完成页面渲染

1. 用户输入
   用户在地址栏输入查询关键字时、地址栏会判断输入的是关键字还是请求的URL
   若是搜索内容、地址栏会使用浏览器默认的搜索引擎、合成包含搜索关键字的URL
   若输入内容符合URL规则、则解析为URL、浏览器加载一个地址之后、导航栏图表就进入了加载状态、页面没变、需要等待提交文档阶段、页面内容才会替换
2. URL请求过程
   浏览器进程通过进程间通信IPC把url请求发送到网络进程、网络进程接收到URL请求后才发起请求
   
   1) 网络进程先查找本地缓存是否缓存了改资源、若有直接返回
   2) 没有、进入网络请求流程(DNS解析->ip、若https协议先建立TLS连接)
   3) 利用IP地址和服务器建立TCP连接、建立连接后浏览器会构造请求信息(请求行/头)把相关cookie加入请求头、发送请求信息
   4) 服务器收到请求后、生产响应数据(响应行/头/体)、发给网络进程、网络进程接收到响应行和响应头之后解析响应头
      a. 重定向 - 响应码 301|302 从响应头提取Location、然后发起新的请求、从新开始
      b. 响应数据类型处理
         Content-Type标记浏览器响应类型 text/html 代表返回数据是HTML格式、继续后续流程
         application/octet-stream 返回数据是字节流类型、按照下载类型来处理、请求提交给浏览器的下载管理器
3. 准备渲染进程
   默认情况下、Chrome会为每个页面分配一个渲染进程、但某些情况下会多个页面运行在同一渲染进程中
   通常: 
   打开新的页面会使用单独的渲染进程、
   若从A页面打开B页面、且AB属于同一站点、则B复用A页面的渲染进程、若是其它情况、会单独创建进程
   
   渲染进程准备好之后、不能立即进入文档解析阶段、因为此时文档还在网络进程中、并未提交给渲染进程、所以下一步是进入提交文档阶段
   
4. 提交文档
   提交文档(响应数据)的请求是浏览器进程发出的、渲染进程接收到消息后、会和网络进程建立传输数据的通道
   文档数据传输完成后、渲染进程返回 确认提交 的消息给浏览器进程
   浏览器进程在收到确认提交的消息后、更新浏览器界面状态、包含了安全状态、地址栏的url、前进后退的历史状态、并更新web界面
   
   一个完整的导航走完了、进入渲染阶段
   
5. 渲染阶段
   文档一旦被提交、渲染进程就开始页面解析和子资源加载了、一旦页面生成、渲染进程会给浏览器进程发送消息、浏览器进程收到消息停止标签页上的加载动画
   
浏览器加载页面.png

相关文章

  • url解析流程

    浏览器进程主要负责用户交互、子进程管理和文件存储等功能 网络进程是面向渲染进程和浏览器进程等提供网络下载功能 渲染...

  • 计算机网络相关知识

    从输入URL(www.google.com)到页面加载发生了什么? DNS解析流程: DNS 解析安全问题 1、D...

  • Django运行流程(例子说明)

    下图很好解析了django的运行流程 下面是一个简单的Django例子 url.py(添加url,调用getfor...

  • viewer keeper

    1、浏览器输入url到页面展现经历了哪些过程? 大致流程 1、URL 解析2、DNS 查询3、TCP 连接4、处理...

  • 在浏览器输入URL回车后的过程

    大致流程 解析URL DNS域名解析 TCP连接(三次握手) 发送HTTP请求 服务器处理请求,返回响应结果 浏览...

  • 输入 URL 到页面渲染的整个流程

    前端输入 url 到页面渲染的流程: 1. DNS 解析 URL 的过程 浏览器输入域名后, 操作系统首先会检查本...

  • 网络知识

    1:在浏览器地址键入URL,按下回车之后经历的流程首先浏览器会依据URL逐层查询DNS服务器缓存,解析URL中的域...

  • Node.js 入门

    URL模块 url.parse讲一个URL解析成URL对象 url.parse解析后面可以跟参数true url....

  • nodejs基础四(横扫nodejsAPI)

    一.URL网址解析的好帮手(node API -- URL) url的方法1.parse:分析、解析eg: url...

  • python爬虫几个步骤

    一 url管理器(管理没解析的url和解析过的url,主要防止循环解析) 二 url下载器(下载网页上的内容,并将...

网友评论

      本文标题:url解析流程

      本文链接:https://www.haomeiwen.com/subject/kbzhictx.html