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

news/2024/4/30 5:28:03/文章来源:https://blog.csdn.net/weixin_34404393/article/details/89428067

谈到优化网站性能时,主要目标之一就是减少要发送到浏览器的数据量(即 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_770265.aspx

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

相关文章

Hexo站点建设之——修改网站图标

一 概述 自建站点为何显示的是主题图标如何查找网站图标如何修改网站图标 二 自建站点为何显示的是主题图标 使用hexo搭建好的站点,网站的图标默认显示的是,右键检查,网站源码—>Elements标签下—>head,可以看到Hexo next…

Hexo站点建设之——基于Lighthouse查看网站性能

一 概述 查看网站相关信息常用的网站有: 站长之家-ping:ping检测,国内测速,国际测速,网站速度对比等 PageSpeed Insights:网站在移动设备和桌面设备的网页响应速度(墙) 爱测速:PageSpeed Insights国内版 …

关于大型网站技术演进的思考(十四)--网站静态化处理—前后端分离—上(6)...

2019独角兽企业重金招聘Python工程师标准>>> 前文讲到了CSI技术,这就说明网站静态化技术的讲述已经推进到了浏览器端了即真正到了web前端的范畴了,而时下web前端技术的前沿之一就是前后端分离技术了,那么在这里网站静态化技术和前…

用 vue koa 和mongo 撸了个人博客和博客管理网站

作为一个前端菜鸡在校生,跟风玩了一波vue之后感觉很爽,又跟风玩了一波koa、co之后更是爽的不行不行的,于是决定搭一个个人博客,再跟风学了学mongo、mongoose之后就开始上手干了,搭好了之后又搭了个博客管理后台&#x…

网站运营中5个源于眼动追踪的启发

如果网站的用户体验不佳,你很有可能因此丢掉很多转化的机会在帮助网站运营人员和设计师们了解用户如何浏览网站方面,眼动追踪的应用非常有效。许多权威的专家和机构已经在这一领域研究了数十年。下面是关于眼动追踪应用的五个结论,可能会对你…

asp.net怎么写上传图片到mysql的页面_小白怎么搭建自己的个人博客网站?云服务+WordPress教程...

【这是Python知识圈的第91篇原创】阅读文本大概需要 8 分钟。前言2 个月前 pk 哥自己动手搭建个人技术网站,一来为了让自己坚持总结,二来可以等访问量上来了赚点广告费(其实这才是主要目的,哈哈)。为什么要自己买服务器搭建网站呢&#xff1f…

自然语言0.0_情感分析权威网站_政治经济地理

sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId1005269003&utm_campaigncommission&utm_sourcecp-400000000398149&utm_mediumshare http://sentdex.com/1m-global-sentiment-analysis/ 可加入…

精品课程网站html,《网页设计与制作》—精品课程

项目7 使用DIVCSS布局网页利用DIVCSS技术,自行规划设计如图7-1所示的网页。网页使用了DIV的多层嵌套,文本及图片的布局中使用了多种CSS样式。练习素材在文件夹exercise中的blog文件夹中的images子文件夹中。图7-1 利用DIVCSS技术制作网页页操作提示&am…

seo模拟点击软件_网站优化(SEO)过程中的72个常见问题(二)

昨天我们总共是总结了6个常见问题,今天接着为大家总结。没有看《网站优化(SEO)过程中的72个常见问题(一)》的可以先看看。然后接着过来看这几个就可以了。网站优化(SEO)过程中的72个常见问题下面,我们接着总结:问题7、百度有没有权威一点的算…

网页在线编程php,十个在线编程网站,你必须收藏

最近糖糖发现很多小伙伴在学习编程的时候,学到一些地方的时候是需要上机做题之类的。这样就需要找一些比较好的在线编程测试网站了。但是对于大家来说如果真的想学好编程还是建议大家最好不要用在线编程网站,在本地搭建环境也是很快的而且很容易促进大家…

url是网站的服务器名,URL是什么

原标题:URL是什么URL就是网页的链接地址,用户和搜索引擎需要通过URL才能访问相应的页面。URL优化是指对其适当的调整,提高URL对搜索引擎的友好性。URL优化是网站seo基础优化的重要环节之一,影响搜索引擎收录的效果,再决…

搜索引擎提交软件_SEO程序员一个会关键词优化的半个程序玩家搜索引擎优化

好客站(www.hao-blog.com)好久没更新微信公众号了,反而人越来越多,感谢各位的关注!!!由于部分时间都放在学习和SEO优化上,没太多时间为大家分享!后续将会抽出部分时间为大家分享SEO干货&#xf…

沙发家具网站源码_实木沙发,自己喜欢才是最好的!

沙发是我们每个家庭不可缺少的家具,其样式多变,风格各异,不同风格的沙发给我们的家居感受也不同,沙发选的对,就会让整个房间的价值感增强,同时彰显主人高雅、舒适的品质生活。 实木沙发稳重厚实&#xff0c…

jq 直接调用php文件_在wordpress网站模板中,怎样添加和调用公共头部模板?

在wordpress网站模板主题开发中,我们可能会碰到这样一个问题:wordpress网站前台页面的头部、侧边栏、底部的数据基本上是差不多的,有的甚至是一模一样的,这时,我们还有必要在每一个页面的头部、侧边栏、底部重复添加或…

mysql数据库乱码原因linux_乱码产生原因 - MySQL乱码问题深层分析_数据库技术_Linux公社-Linux系统门户网站...

二、乱码产生原因MySQL 字符编码是版本4.1引入的,支持多国语言,而且一些特性已经超过了其它大多数数据库管理系统。正因为这一特性才导致 MySQL 的乱码问题。字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。让我们使用一个假想字…

让网站添加人性化的声音提示

有时候&#xff0c;网页和客户是互动的&#xff0c;需要某些声音来提示客户&#xff0c;在这里贴段代码&#xff1a;客户端声音提示function notifyClientForMessage(){ var s "<object classid\"clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95\" id\"…

如何用 Flexbox 构建一个新闻网站布局

本文讲的是如何用 Flexbox 构建一个新闻网站布局&#xff0c;你将要创建的东西 在你刚接触 Flexbox 的时候没有必要理解关于 Flexbox 的 所有 方面。在这篇教程中&#xff0c;我们将介绍 Flexbox 的一些新特性。同时设计一种新的、像 The Guardian 一样的布局方式。 我们使用 F…

浏览器字体大小设置_外贸建站的 常用CSS设置

今天我们来说说外贸建站的 常用CSS设置 。CSS设置这方面的内容比较侧重于代码技术类&#xff0c;有些同学会觉得去研究这方面的东西太费事费力&#xff0c;投入产出比不高。事实上&#xff0c;当你掌握了这方面的相关技术&#xff0c;你对网站的前端构建会有全新的认识。一般情…

VS2019 配色_设计师必看|这10个网站可以帮你更快做好配色

本文共1189字&#xff0c;阅读大约3分钟对于一个设计师来说&#xff0c;颜色太重要了&#xff0c;但是配色是比较难的一门学问&#xff0c;不是说看几篇文章就能学会的。对于大多数人来说&#xff0c;使用网上的工具进行配色是最简单高效的方式&#xff0c;这篇文章就来介绍10个…

html网站开发与php网站开发_网站开发的三个时代:网页制作、前端开发、后端开发...

网站开发共经历了三个时代分别是“网页制作”、“前端开发”、“后端开发”。下边谈一谈这三个时代分别是怎样的&#xff0c;和千锋广州小编一起来看看吧。网页制作网页制作是Web 1.0时代的产物&#xff0c;产生在2005年左右。那个时候的网页主要是静态页面。静态页面就是能使用…