如何打造亚秒级加载的网页1——前端性能

对于我们前端来说,页面的加载速度是直接影响到用户的体验度

用户体验度是能直接决定最终的销售额的

每增加延迟一秒,页面访问量降低11%,转化率降低7%

如何提高页面的加载速度是前端工程师们必然要懂的

那么我就来讲解一下可以从哪些方面来提高页面的加载速度:

页面加载速度影响因素——前端性能

  前端性能关键呈现路径所涉及的步骤:

      1 .  DOM:浏览器在解析HTML时,会以递增的方式为HTML标记生成一种名为文档对象模型(DOM)的树状模型,

           该模型描述了网页中包含的内容

      2 . CSSOM:浏览器收到所有CSS后,会对其中包含的标记和类生成一种名为CSS对象模型的树状模型,并将样式信息附加在节点上。

           这个树描述了网页中所包含内容需要应用的样式

      3 . 呈现树(Render Tree):通过将DOM与CSSOM结合在一起,浏览器可以构造出呈现树,

           其中包含了页面内容以及所要应用的样式信息

      4 . 布局(Layout):布局这一步中需要计算网页内容在屏幕上的实际位置和大小

      5 . 绘制(Paint):最后一步将使用布局信息在屏幕上绘制像素

当然对此我们也是有办法应付的

下面列出了各个方面处理性能的方法

  (1)网页内容 ——  减少HTTP请求次数

            减少DNS查询次数

            避免页面跳转

            缓冲ajax

            延迟加载

            提前加载

            减少DOM元素数量

            根据域名划分内容

            减少iframe数量

            避免404

  (2)服务器 —— 使用CDN

          添加Expires 或 Cache-Control 报文头

          Gzip 压缩传输文件

          配置ETags

          尽早flush输出

          使用GET Ajax请求

          避免空的图片src

          Cookie

          减少cookie大小

          页面内容使用无cookie域名

  (3) CSS —— 将样式表置顶

          避免CSS表达式

          用<link>代替@import

          避免使用Filters

  (4) JavaScript —— 将脚本置底

            使用外部Javascript 和 Css文件

            精简Javescript和Css

            去除重复脚本

            减少DOM访问

            使用智能事件处理

  (5) 图片 —— 优化图片

          优化CSS Sprite

          不要在HTML中缩放图片

          使用小且可缓存的favicon.ico

          移动客户端

          保持单个内容小于25KB

          打包组建成符合文档

这就是从前端方面来提高页面的加载速度

当然  影响页面加载速度的并不只有前端性能

还会有网络性能

下次更新再来写网络性能了

原文地址:https://www.cnblogs.com/mlw1814011067/p/9683919.html

时间: 2024-10-01 00:28:52

如何打造亚秒级加载的网页1——前端性能的相关文章

百度地图Canvas实现十万CAD数据秒级加载

背景 前段时间工作室接到一个与地图相关的项目,我作为项目组成员主要负责地图方面的设计和开发.由于地图部分主要涉及的是前端页面的显示,作为一名Java后端的小白,第一次写了这么多HTML和JavaScript. 项目大概是需要将一张CAD的图(导出大概三十万条数据)叠加在地图上,在接Canvas之前考虑了很多种方案,最后都否定了.首先我们想利用百度地图原生的JavaScript API实现线和点的加载,但是经过测试,当数据达到2000左右,加载时间就已经达到了数十秒,后来直接测试了一万条数据,浏览

纯CSS3打造非常炫的加载动画

纯css3打造的一款非常炫的加载图.用在需要一定时间加载的地方非常合适.先上效果图: 点击这里在线预览 代码非常简单.没有用任何javascript代码.纯css3实现. html代码: <div class="content"> <div style="width: 970px; margin: auto"> </div> <div class="rotate"> <span class=&

浏览器加载渲染网页过程解析 (转)

浏览器的工作机制,一句话概括起来就是:web浏览器与web服务器之间通过HTTP协议进行通信的过程.所以,C/S之间握手的协议就是HTTP协议.浏览器接收完毕开始渲染之前大致过程如下: 从浏览器地址栏的请求链接开始,浏览器通过DNS解析查到域名映射的IP地址,成功之后浏览器端向此IP地址取得连接,成功连接之后,浏览器端将请 求头信息 通过HTTP协议向此IP地址所在服务器发起请求,服务器接受到请求之后等待处理,最后向浏览器端发回响应,此时在HTTP协议下,浏览器从服务器接收到 text/html

浏览器加载渲染网页过程解析

浏览器的工作机制,一句话概括起来就是:web浏览器与web服务器之间通过HTTP协议进行通信的过程.所以,C/S之间握手的协议就是HTTP协议.浏览器接收完毕开始渲染之前大致过程如下: 从浏览器地址栏的请求链接开始,浏览器通过DNS解析查到域名映射的IP地址,成功之后浏览器端向此IP地址取得连接,成功连接之后,浏览器端将请 求头信息 通过HTTP协议向此IP地址所在服务器发起请求,服务器接受到请求之后等待处理,最后向浏览器端发回响应,此时在HTTP协议下,浏览器从服务器接收到 text/html

Android 框架练成 教你打造高效的图片加载框架

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/41874561,本文出自:[张鸿洋的博客] 1.概述 优秀的图片加载框架不要太多,什么UIL , Volley ,Picasso,Imageloader等等.但是作为一名合格的程序猿,必须懂其中的实现原理,于是乎,今天我就带大家一起来设计一个加载网络.本地的图片框架.有人可能会说,自己写会不会很渣,运行效率,内存溢出神马的.放心,我们拿demo说话,拼得就是速度,奏事这么任性.

浏览器加载渲染网页过程解析--备用

浏览器的工作机制,一句话概括起来就是:web浏览器与web服务器之间通过HTTP协议进行通信的过程.所以,C/S之间握手的协议就是HTTP协议.浏览器接收完毕开始渲染之前大致过程如下: 从浏览器地址栏的请求链接开始,浏览器通过DNS解析查到域名映射的IP地址,成功之后浏览器端向此IP地址取得连接,成功连接之后,浏览器端将请 求头信息 通过HTTP协议向此IP地址所在服务器发起请求,服务器接受到请求之后等待处理,最后向浏览器端发回响应,此时在HTTP协议下,浏览器从服务器接收到 text/html

浏览器加载渲染网页过程解析(二)

转自:http://blog.csdn.net/longeremmy/article/details/8030736 浏览器的工作机制,一句话概括起来就是:web浏览器与web服务器之间通过HTTP协议进行通信的过程.所以,C/S之间握手的协议就是HTTP协议.浏览器接收完毕开始渲染之前大致过程如下 : 从浏览器地址栏的请求链接开始,浏览器通过DNS解析查到域名映射的IP地址,成功之后浏览器端向此IP地址取得连接,成功连接之后,浏览器端将请 求头信息 通过HTTP协议向此IP地址所在服务器发起请

Web页面加载,如何分析页面性能?如何进行优化?

一.浏览器加载过程:1.建立连接过程 (1) 浏览器查找域名的IP地址 (2) 浏览器给web服务器发送一个HTTP请求 (3) 服务器发送永久重定向响应 (4) 浏览器跟踪重定向地址 (5) 服务器"处理"请求 (6) 服务器发回一个HTML响应2.浏览器渲染 解析HTML ↓构建DOM树 ↓渲染树构建 ↓渲染树布局 ↓绘制渲染树二.优化方法1.启用浏览器缓存 浏览器要根据域名找出IP地址,而DNS查找过程的第一步是在浏览器缓存中查找,根据Chrome的PageSpeed给出的建议:

Android 编程下 WebView 加载一个网页如何得到网页的 Cookie 值

http://www.cnblogs.com/sunzn/archive/2013/04/03/2998113.html mWebView.setWebViewClient(new MyWebViewClient());mWebView.loadUrl(url); 最近做项目在手机端加载一个 WebView 进行网页第三方登录的时候,认证成功后会跳转到公司的网页中,手机客户端需要从网页中拿到 Cookies 携带的 UID 进行数据交互,这时我们可以在 WebViewClient 的 onPag