13518219792

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

Web页面全链路性能优化指南

本文会对web页面的全链路进行完整的讲解并针对每一步找到能做的性能优化点,本文的目标是极致的性能优化。

成都创新互联公司咨询热线:18980820575,为您提供成都网站建设网页设计及定制高端网站建设服务,成都创新互联公司网页制作领域十载,包括成都混凝土搅拌机等多个领域拥有多年建站经验,选择成都创新互联公司,为网站锦上添花。

因为针对性能优化,能做的点会特别特别的多,覆盖着整个互联网的访问流程,因此此文章的内容会比较多且杂,笔者会尽量对内容进行分类讲解。

本文的大致流程为先讲理论知识,比如如何评价一个页面的性能好与不好、如果获取性能指标,如何使用各种性能相关工具,浏览器如何获取并渲染页面。笔者认为这些都是基础,只有了解了这些基础才能开始考虑如何去优化。

接下来我们会进入性能优化环节,在这个环节我会详细讲解在页面的整个流程中,哪些地方可以做哪些优化。

目录

1.用户输入

2.卸载原页面并重定向到新页面

3.处理Service Worker

4.网络请求

5.服务端响应

6.浏览器渲染详细流程

浏览器渲染原理

我们需要知道浏览器是如何渲染一个页面的,我们才能知道如何对页面进行性能优化,所以这里我们对一些基础知识进行讲解

进程与线程

浏览器有多种进程,其中最主要的5种进程如下

  1. 浏览器进程 负责界面展示、用户交互、子进程管理、提供存储等
  2. 渲染进程 每个页面都有一个单独的渲染进程,用于渲染页面,包含webworker线程
  3. 网络进程 主要处理网络资源加载(HTML、CSS、JS、IMAGE、AJAX等)
  4. GPU进程 3D绘制,提高性能
  5. 插件进程 chrome插件,每个插件占用一个进程

输入url到页面展示完整过程

图1

1.用户输入

用户在 浏览器进程 输入并按下回车健后,浏览器判断用户输入的url是否为正确的url,如果不是,则使用默认的搜索引擎将该关键字拼接成url。

2.卸载原页面并重定向到新页面

然后浏览器会将现有页面卸载掉并重定向到用户新输入的url页面,也就是图中【Process Unload Event】和【Redirect】流程。

此时浏览器会准备一个 渲染进程 用于渲染即将到来的页面,和一个 网络进程 用于发送网络请求。

3.处理Service Worker

如果当前页面注册了Service Worker那么它可以拦截当前网站所有的请求,进行判断是否需要向远程发送网络请求。也就是图中【Service Worker Init】与【Service Worker Fecth Event 】步骤

如果不需要发送网络请求,则取本地文件。如果需要则进行下一步。

4.网络请求

OSI网络七层模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

在实际应用中物理层、数据链路层被统称为物理层,会话层、表示层、应用层被统称为应用层,所以实际使用时通常分为4个层级

【物理层】>【网络层(IP)】>【传输层(TCP/UDP)】>【应用层(HTTP)】

也就是图中【HTTP Cache】、【DNS】、【TCP】、【Request】、【Response】步骤

图2

浏览器会拿着url通过 网络进程 进行如下步骤

HTTP/2.0
多路复用
:
hpack

HTTP/3.0 使用UDP实现,在UDP上一层加入一层 QUIC 协议,解决了TCP协议中的队头阻塞问题。

5.服务端响应

在 4.网络请求 第 6 步中,服务器收到HTTP请求后需要根据请求信息来进行解析,并返回给客户端想要的数据,这也就服务端响应。

服务端可以响应并返回给客户端很多种类型的资源,这里主要介绍 html 类型

目前前端处理服务端响应html请求主要分为SSR服务端渲染与CSR客户端渲染,CSR就是返回一个空的HTML模版,然后浏览器加载js后通过js动态渲染页面。SSR是服务端在接受到请求时事先在服务端渲染好html返回给客户端后,客户端再进行客户端激活。

在打开一个站点的首屏页的完整链路中,使用SSR服务端渲染时的速度要远大于CSR客户端渲染,并且SSR对SEO友好。所以对于首屏加载速度比较敏感或者需要优化SEO的站点来说,使用SSR是更好的选择。

6.浏览器渲染详细流程

浏览器渲染详细流程主要在 4.网络请求 中的地 7 步。浏览器下载完 html 内容后进行解析何渲染页面的流程。

渲染流程分为4种情况,

  1. HTML中无任何CSS相关标签
  2. CSS相关标签在HTML最顶部,且在解析到内容标签( 
     )时已经解析完CSS相关标签
  3. CSS相关标签在HTML最顶部,但在解析到内容标签( 
     )时CSS相关标签尚未解析完
  4. CSS相关标签在HTML最底部

下面的流程是对上图的文字版解析。读者可将以上4种情况分别带入到如下的渲染流程中走一遍。就能理解浏览器的完整渲染过程了。

【HTML】

浏览器收到html资源后先预扫描  和 


在函数运行时执行了10次【计算样式】和【重排】

反复触发强制同步布局也叫 布局抖动





新闻名称:Web页面全链路性能优化指南
网页链接:http://cdbrznjsb.com/article/djcjhje.html

其他资讯

让你的专属顾问为你服务