网站性能优化— WebP 全方位介绍

news/2024/5/21 0:35:21/文章来源:https://blog.csdn.net/weixin_33936401/article/details/90686405

谈到优化网站性能时,主要目标之一就是减少要发送到浏览器的数据量(即 payload)。而当前,图片通常是页面构成中最耗费流量的部分,因此降低图片的大小是一个最为有效的优化网页前端性能的办法。

有很多工具可以压缩图像,以便减少文件大小,但仍然在一定程度上受文件类型的限制,图像编码的方式对最终生成文件的大小有很大的影响。 在这篇文章里将介绍一种被称为 WebP 的新型图片格式,旨在在不影响用户体验的情况下减少图片的大小。

一.WebP是什么?

WebP 是由谷歌开发的一种图像格式,与 JPEG 图像相比,这种格式最多可以减少图片文件大小的 34%。从而显著优化页面加载时间和带宽使用情况。

Compare Image

上图是 JPEG 和 80% 压缩质量的 WebP 图像之间的比较 ,来源于 Luc Viator, Creative Commons Attribution-Share Alike 3.0 Unported.

根据谷歌团队的介绍,自从去年 Chrome Web Store 转而使用 WebP 后,整个网站图片的大小平均减少 30%。这相当于每天节省了数 tb 的带宽!谷歌的 Play Store 目前也使用 WebP 格式储存图像。

WebP 格式支持无损和有损的图像压缩、alpha 通道透明度、颜色配置文件、元数据和动画,这些特性使 WebP 格式成为一个为网络上所使用的图像提供的一站式的解决方案。

俯视过去几年互联网浏览趋势的演变,你就会发现,开发一个新的图片格式越来越重要。移动浏览现在占全球互联网流量的 15%,这一数字仍在上升,然而,这些移动设备的网络依赖的数据并没有以同样的速度提高。大部分人的移动浏览仍然被低带宽连接所限制,网页的加载速度慢得令人沮丧,而使用 WebP 之类技术来减少 web 页面的整体负载则有助于缓解这一现象。

二.使用 WebP 的利弊

与传统图像格式如 JPEG、PNG 或 GIF 相比,使用 WebP 有很多优势:

  • 更小的文件尺寸
  • 更高的质量——与其他相同大小不同格式的压缩图像比较
  • 完全免费——开源的 WebP 是 2010 年由谷歌根据 BSD 协议所提供的
  • 一种格式可以取代所有其他格式—— WebP 有能力取代 JPEG、 PNG 和 GIF,成为在 Web 上图像的单一格式

但是,尽管自 2010 年起 WebP 便已推出,但它的支持仍然是有限的,这是现今使用 WebP 的主要缺点:

  • 浏览器支持——WebP 目前支持桌面上的 Chrome 和 Opera 浏览器。手机支持仅限于原生的 Android 浏览器和 Android 系统上的 Chrome 浏览器,后面会介绍关于如何处理这个限制的方法。
  • 本地操作系统支持——WebP 目前不被任何操作系统原生支持。谷歌只是基本的开发了 Web 上的格式,但要将其添加到 Windows 成像组件中还需要有编解码器支持,在这里给大家附个下载链接.

: WebP 图像也可以使用在 Android 应用程序和 iOS 应用程序上,但在这篇文章中我们将先关注于 Web 应用程序.

三.真实的页面响应时间

评价网站性能好坏的一个主要指标就是页面响应时间,也就是说用户打开完整页面的时间。任何一项技术的使用都是有风险的,更何况是在公司的网站上,你必须要有一定的数据和证据来说服你的 Boss 或者相关负责人才行。

现在业内的很多前端监控工具都是基于拨测的模拟访问。假设,在网络良好、用户机器良好、用户使用pc有线网、运营商及DNS无任何问题等等情况下的访问,这是真实的用户访问么?!!

只有像类似于下图这样的针对用户访问时间的真实监控才能用来作为推动某项技术落地于网站的有力证据。
网站性能优化 WebP 全方位介绍

同样重要的是要定位到图片资源加载的时间,如果拖慢网站页面加载的主要原因就是图片资源的话,那就算你不抓紧的话,老板也会逼着你让你去解决这个问题,这个时候,WebP 就派上用场了。

网站性能优化 WebP 全方位介绍

之前做过前端优化的工作,国内外的前端性能优化工具也使用了不少,现阶段可以较好实现上面两个功能的工具有:
OneAPM Browser Insight、AppDynamics、Ruxit,大家有兴趣的话可以去尝试下。

四.将图像转换为WebP

现在大家应该了解了为什么 WebP 与众不同,为什么考虑在 Web 应用程序中使用它,下面介绍的是如何将你现有的图像转换为 WebP 格式。

谷歌已开发了大量实用的命令行将图像转换为 WebP,每个人都可以从谷歌开发者网站下载。当你有一个实用程序的副本之后,你可能想要将实用程序的 bin 文件夹添加到您的本地路径,这可以通过将以下代码添加到你的主目录 下的.bash_profile 文件中来实现(针对 Mac/Linux 系统)。

PATH=$PATH:"/path/to/libwebp-utilities/bin"  
export PATH  

你需要更新下引用路径来表示你的系统上 WebP 实用程序文件夹的位置。重新启动终端止,就能够访问命令行实用工具了。

另外,Mac 可以使用homebrew来安装实用程序。

brew install webp  

:homebrew 不是总能匹配项目网站的最新版的。

安装实用程序完成后,就可以使用 cwebp 将 JPEG 或 PNG 图像转换成 WebP 格式。

cwebp [options] -q quality input.jpg -o output.webp  

质量选项应该是 0 (差)到 100 (很好)之间的数字,典型的质量值大约是 80,但是你也可以多多尝试,直到文件质量和大小都让你满意。

完整的选项列表,可以使用此实用工具运行带有 -longhelp 的 cwebp 命令,或者查看帮助文档。

:也可以使用 dwebp 实用程序将 WebP 图像转换回 PNG、PAM、PPM 或 PGM 图像。

dwebp input_file.webp [options] [-o output_file]  
五.PageSpeed 自动转换模块

很高兴有工具可以手动将图像格式转换成 WebP 。

但正如我们之前看到的,并不是所有的浏览器都支持这种图像格式,因此需要一种可以预览 WebP 图像,并且使不支持 WebP 格式的浏览器可以用 JPEGs 或 PNGs 替代的服务。本来可以写一些复杂的服务器端代码,找出用户的浏览器是否支持 WebP 然后提供适当的文件,但幸运的是我们不需要这么做。

由谷歌开发的 PageSpeed 模块有一个功能,会自动将图像转换成 WebP 格式和服务端的浏览器所支持的格式。很神奇,就像魔术一样,而且设置也很简单,只需要将一行代码添加到你的主机配置中,启用这个特性。

ModPagespeedEnableFilters convert_jpeg_to_webp  

:如果你不熟悉 PageSpeed 模块,可以看下这个英文的帮助文档,关于如何在 Apache Web 服务器上设置 mod_pagespeed.

使用 convert_jpeg_to_webp 选择器可以使 PageSpeed 模块在适当的地方开启图像优化和自动转换 WebP 图像的服务。最初这只适用于 JPEG 图像,但你也可以通过开启 convert_png_to_jpeg 选择器使其支持 png 图像。

ModPagespeedEnableFilters convert_png_to_jpeg  

根据谷歌报导,目前有超过 300000 个网站使用 PageSpeed 模块(或服务)为用户提供 WebP 图像.

在自己的服务器上使用 PageSpeed 模块的方法非常简单,可以充分利用 WebP 的优势。

六.确定用户比例

那么现在还有一个问题,你如何确定网站的用户有多大比例支持 WebP 呢?这个也同样需要拿出一定的数据来像 Boss 证明,转化 WebP 图像这个操作是有意义的。

所以针对网站用户统计的工具就非常重要了,而且这个工具还不能是像 GA、百度统计以及 CNZZ 这样的营销工具,一定要基于真实用户访问的才可以,就像下面这个样的真实用户访问统计图。



这个要识别起来其实很难的,因为各种机型浏览器非常复杂,目前国内外涉及这个方面并且做的符合需求的工具也给大家推荐几个:
OneAPM Browser Insight、AppDynamics、NewRelic

七.文末感想

本文主要介绍的就是怎样使用 WebP 图像来减小网页的总体规模,以便于降低页面加载时间。很明显,与 JPEG 或 PNG 相比 WebP 有许多优点,包括在规模和质量之间的平衡,以及这个新兴的格式支持的功能等.

虽然浏览器对 WebP 的支持仍有很多需要改进的地方,但是使用谷歌 PageSpeed 模块会使你很容易体会到 WebP 的好处,也不会疏远使用不支持这种格式的浏览器的用户。

:本文翻译自外文文章“Getting Started with the WebP Image Format” ,由 OneAPM 产品运营整理改编发布,原文地址:http://blog.teamtreehouse.com/getting-started-webp-image-format

Browser Insight 是一个基于真实用户的 Web 前端性能监控平台,能够帮大家定位网站性能瓶颈,网站加速效果可视化;支持浏览器、微信、App浏览 HTML 和 HTML5页面。想技术文章,请访问 OneAPM 官方技术博客。
本文转自 OneAPM 官方博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_760624.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在创业建站时,如何选择CMS开源软件

为什么80%的码农都做不了架构师?>>> 当初学习建网站的时候还需要一步步从HTML、DreamWear、FireWorks等软件的学习,而且网站都是一个个手工建立起来的,很少有现成的CMS源码提供我们。这些我们都可以从源码网站的最后的记录中看到…

Linux c网站代码,##号的用途及Linux C测试代码

大家都知道##这两个的意思是什么吧?见下:和#一样 此运算符可以用于宏函数的替换部分.这个运算符把两个语言符号组合成单个语言符号.例如: #define MAN(woman) Man##woman 使用: MAN(Super) 展开就是:ManSuper其实就是连接的作用,例如&#x…

如何配置ublox ZED-F9P 高精度模块+Ntrip DTU 网络电台(连接千寻/CORS/自建站)实现网络RTK定位

格林恩德F9P-RTK模块,集成高精度板卡(ZED-F9P)可同时接收GPS,北斗,GALILEO,GLONASS 卫星系统的L1,L2频点,结合高精度天线一体化设计,体积小,重量轻,只需外部5V供电,外接配合NTRIP DTU 网络差分电…

如何在空白服务器上搭建网站,如何在空白服务器上搭建网站

如何在空白服务器上搭建网站 内容精选换一换华为云SSL证书管理服务帮助中心,为用户提供产品简介、用户指南、常见问题等技术文档,帮助您快速上手使用云证书管理服务。当您想在Internet上通过域名访问您的网站时,可以通过华为云的云解析服务为…

wap网站的优化建设

我们在成功建立wap网站之后,不要觉得一时没有达到自己想要的效果就丢之气之,让其成为垃圾链接,我们既然前期做了大量的工作来建立起来这个网站,一定要坚持耐心的把这个网站培养下去,其实就如同我们栽种一个树苗&#x…

博客类网站排名

2019独角兽企业重金招聘Python工程师标准>>> http://top.chinaz.com/hangye/index_zonghe_boke.html http://www.phbang.cn/tech/internet/16328.html http://jingyan.baidu.com/article/335530daa46a7f19cb41c3f9.html 转载于:https://my.oschina.net/CeShiXiaoSon…

一个用于网站自动化测试的生态系统实现

这是我在从事网站自动化测试的工作当中构建出的一个“生态系统”。“生态系统”这个概念是我从公司的前辈身上学到的,他一直以来都认为自动化测试人员不应仅仅局限于编写测试代码,还应该让整个自动化测试的过程(测试代码的持续集成、分发、执…

python求职网站_用Python爬取各大网站招聘平台,终于让我给知道对口的工作

原标题:用Python爬取各大网站招聘平台,终于让我给知道对口的工作 个人经历:低不成,高不就 依稀还记得15年刚出来工作那会,在第一个互联网公司实习,在公司听惯了身边人说公司这不好,那不好&#…

网站被挂了很多链接 源码里边看不到_操作源码平台月入万元的创业项目实操方法和步骤...

项目背景:很多人做电商或者互联网其他行业,第一步都要做一个站点。但是又不愿意多出钱,因此就有人去找一些源码做个站。大家知道一个站是由三部分组成的,分别是域名,服务器和程序,所谓的程序也就是源码。什…

freeradius 用户时间限制_网站越来越卡?那是你的虚拟主机流量被限制了!

在讨论这个问题前,我们必须知道网站流量和虚拟主机流量的有什么区别。网站流量一般指网站访问量,用来表明一个网站的浏览数量,用PV/UV表示。而虚拟主机流量主要指代用户在访问过程中所产生的数据量,例如加载图片视频等消耗了5G、1…

matlab psf点扩散函数,什么是点扩散函数PSF?-ZEMAX,OpticStudio-光行天下-国内光电行业门户-光学,光电,光机技术及其软件运用专业网站!...

概要这篇文章讲述了:什么是点扩散函数?点列图快速傅里叶变换计算的点扩散函数(FFT PSF)惠更斯算法计算的点扩散函数(Huygens PSF)如何使用非序列模式下的透镜和探测器观察惠更斯积分对于序列模式下的透镜组,分析点扩散函数时如何在惠更斯和快…

去除标题_什么是网站标题堆砌?

相信在做网站优化的小伙伴,见到过很多的网站标题堆砌的问题,从搜索引擎推出的清风算法可以看出,对于网站标题关键词多次出现会被搜索引擎视为一种作弊的行为,严重的话会被搜索引擎限制搜索结果展现,引起网站降权、限制…

实验楼网站mysql_实验楼mysql实验-搭建一个简易的成绩管理系统的数据库

网址如下https://www.shiyanlou.com/courses/running ,pass之后的体验还蛮好的,。首先打开终端,双击xfce终端或右键打开终端开启数据库服务 ,连接数据库首先创建新的数据库create database gradesystem;接着选择新创建的数据库 us…

网站 mysql 密码 查询_分享几个默认密码在线查询网站

网络设备忘记了密码,不要慌,先看一下厂家和型号,找找产品手册,不行就在线查一查,比如下面这几个网站,说不定有惊喜。本文分享几个默认密码在线查询网站,仅用于用户找回默认密码,不许…

邮箱@topgrid.cn是什么网站_想知道自己的邮箱或手机号注册过哪些网站?这一招教你一键查询...

怎么看自己注册过哪些网站?如今很多网站或手机APP都需要邮箱或手机验证注册,时间一长,我们很容易忘记在哪些平台上注册过账号,尤其是一些需要换手机号的朋友,需要提前在各大网站/APP解绑账号,以免影响后续使…

adobe怎么统计字数_优化网站文章标题怎么写?

网站文章和发到其他平台的文章还是有很大的区别的,他首要的任务是优化,所以文章标题并不是乱写一些热点就可以给自己家的网站带来流量。现在信息爆炸,人的阅读速度不是快,而是有选择的读,所以标题是非常重要的。在搜索…

mysql 中文社区版_mysql数据库下载官网_mysql中文官方网站下载

MySQL数据库下载与安装详细教程 1.首先进入官网 下载安装包 进去之后如图所示,依次点击DOWNLOADS—>如何在官网上下载可安装版的MySQL数据库,MySQL数据库安装软件有解压版和安装版,解压版需要配置环境参数,本文主要介绍MySQL数据库从下载到…

1h2g云服务器做网站,云服务器1h2g

云服务器1h2g 内容精选换一换扩容云服务器后,通过查看云服务器的规格和各项容量指标验证扩容是否成功。登录华为云“管理控制台”页面。单击服务列表计算弹性云服务器。在弹性云服务器列表中,在待变更资源的云服务器所在行的规格/镜像列,查看…

[导入]门户网站

门户网站门户(portal)。原意是指正门、入口,现多用于互联网的门户网站和企业应用系统的门户系统。广义注解这里是一个应用框架,它将各种应用系统、数据资源和互联网资源集成到一个信息管理平台之上,并以统一的用户界面…