pageSpeed Insights 图片对网站优化方案

2024-02-21 07:30

本文主要是介绍pageSpeed Insights 图片对网站优化方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

一 规则 如下归纳几点 可供参考。<br>

避免使用着陆页面重定向

启用压缩功能

缩短服务器相应应用时间

使用浏览器缓存机智

缩短资源大小

优化图片

优化css发送过程

优化加载可见内容

移除会阻止呈现内容的javaScript

1 避免使用着陆页面重定向<br>

   重定向会触发http请求相应周期。并会拖慢网页呈现速度。在最好的情况下,每个重定向都会添加一次往返响应。最坏的情况下,除了额外的http请求响应周期以外。可能会更多次的的执行dns查找 ,tcp 握手和tls协商,因此,您可能减少重定向的使用和提示网站的性能。以下是重定向的模式exapmple.com 使用网页设计 无需要人任何重定向快速切很理想化。example.com -m.exmaple.com/htom 会导致设备用户遭到多次往返。exmaple.com => www.example.com->m.exmaple.com 移动端非常缓慢建议了解自适应设计基础知识。 以提供出色的多设备体验并消除不必要的重定向。

2 启用压缩功能<br>

   所有现代浏览器都支持gzip 压缩 所有http 请求自动协议类似的压缩。启用gzip 压缩珂大幅度压缩索传授的响应大小 减少客户端的流量并加快网页的首次呈现速度。建议在您的网络服务器上启用品测试gzip 支持 html5 所包含人民的服务器Server Configs[Apache](https://github.com/h5bp/server-configs-apache "Apache")[Google App Engine (GAE)](https://github.com/h5bp/server-configs-gae "Google App Engine (GAE)")[Internet Information Services (IIS)](https://github.com/h5bp/server-configs-iis "Internet Information Services (IIS)")[lighttpd](https://github.com/h5bp/server-configs-lighttpd "lighttpd")[Nginx](https://github.com/h5bp/server-configs-nginx "Nginx")[Node.js](https://github.com/h5bp/server-configs-node "Node.js")

3 改善服务器响应时间<br>

    建议服务器响应衡量的是花费多长时间加载必要的html 开始呈现服务托管网页。其中减去的了谷歌哥您的服务器之前的网络延迟时间,每次运行所以的时间可以有所不同,但是这差异不应太大。事实上,每次各种服务器应在用时方面存在很大的差异行,可能意味潜在性能我问题。建议您应该将服务器响应的时间控制在200毫秒内,很多潜在因素可能会延迟服务器响应,当解决问题后。您必须继续衡量服务器先gin赶时间,并设法应将出现的性能瓶颈的问题1 收集并检测2 找出并修复3 检测并提醒

4 使用浏览器缓存<br>

   通过网络获取资源速度缓慢有代价昂贵,下载过程可能需要和客户端服务器之间进行多次往返,会导致延迟处理,可能会阻止网页内容呈现,是访问支持数据费用。所有的服务器响应都应指定一种缓存政策。帮助客户端明确是否可以重用之前的获取响应。建议, 每项资源都指定一种明确的缓存政策来回答下列问题。该资源可被缓存,可缓存多长时间。如何在缓存政策到后期对该资源进行有小的重现验证。当服务器返回响应时间。必须提供etag 标头。Cache-Contol 指定浏览器和其他中间缓存如何 缓存单项响应时长时间,eTAG 提供重新验证的令牌,有浏览器自动发送。用于检测上次请求响应的资源是否发生变化,[指定最佳的Cache-Control 政策](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching#defining-optimal-cache-control-policy "指定最佳的Cache-Control 政策")[使用缓存的响应失效的最佳缓存的响应](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching#invalidating-and-updating-cached-responses "使用缓存的响应失效的最佳缓存的响应")[缓存核对清单。](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching#caching-checklist "缓存核对清单。")对于静态素材的资源不常的素材变化资源,我们建议至少缓存1周,至多缓存1年。如果您需要精确控制资源的失效时间,我们建议使用网址指纹版本控制技术.5 缩减资源(HTML CSS javascript 的大小)<br>缩减大小的是指不影响浏览器处理资源的情况下移除冗余,不必要的数据。移除未使用的代码。建议 缩减html CSS js 资源的大小要缩减HTML大小 请查实使用htmlMinifer要缩短CSS大小。请尝试使用的cssNano csso要缩短js大小。请尝试使用。UglifyJS Closure Compiler 也有效。您珂创建一个使用的这些工具的构建的流程。缩短和重命名开发文件将保持正式版目录。6 优化图片<br>对于网页来说,在所下载的字节数中,图片往往会占很大比例。因此,优化图片通常可以卓有成效地减少字节数和改进性能:浏览器需要下载的字节数越少,对客户端带宽的争用就越少,浏览器下载内容并在屏幕上呈现内容的速度就越快。在为您的图片资源寻找最理想的格式和优化策略时,您需要仔细分析多个方面:要编码的数据的类型、图片格式功能、质量设置、分辨率,等等。此外,您还需要考虑:是否最好以矢量格式提供某些图片、是否可通过 CSS 实现所需的效果,以及如何为每类设备传送已进行相应调整的资源。遵循提供自适应图片的最佳做法参阅各种图片的图片优化核对清单针对 GIF、PNG 和 JPEG 图片进行优化GIF、PNG 和 JPEG 格式在整个互联网的图片流量中占 96%。鉴于这些图片格式的热门程度,PageSpeed Insights 提供了具体的优化建议。为方便起见,您可以直接从 PageSpeed Insights(它使用的是 modpagespeed.com 中提供的图片优化库)下载经过优化的图片。您还可以使用相关工具(例如 ImageMagick 提供的 convert 库)来应用类似的优化 - 请参阅下面的示例说明。如果您使用第三方工具,则请注意:倘若您的图片在此之前已进行了充分的优化,转换后的图片可能会变大。如果发生这种情况,请使用您的原始图片。GIF 和 PNG 均是无损格式,因为压缩过程不会对这两类图片的外观做出任何修改。对于静止图片,PNG 可以实现更好的压缩宽高比和更好的外观质量。对于动画图片,请考虑使用 video 元素(而不是 GIF)以实现更好的压缩效果。始终将 GIF 转换为 PNG 格式,除非原始图片是动画图片或非常小(不足几百字节)。对于 GIF 和 PNG,如果所有像素都是不透明的,请移除 Alpha 通道。例如,您可以使用 convert 库通过如下命令优化 GIF 和 PNG 图片(括号内的参数是可选的):convert INPUT.gif_or_png -strip [-resize WxH] [-alpha Remove] OUTPUT.pngcuppa.pngcuppa.png(1763 字节)convert cuppa.png -strip cuppa_converted.pngcuppa_converted.pngcuppa_converted.png(856 字节)JPEG 是一种有损格式。压缩过程会去除此类图片的外观细节,但压缩宽高比可能会是 GIF 或 PNG 的 10 倍。如果图片质量较高,请将其降至 85。当图片质量大于 85 时,图片会迅速变大,但外观上的改善却微乎其微。将色度采样率降至 4:2:0,因为人类视觉系统对亮度(与颜色相较而言)更敏感。对超过 10k 字节的图片使用渐进式格式。渐进式 JPEG 通常可为大型图片实现更高的压缩宽高比(与基准 JPEG 相较而言),并具有渐进式呈现图片的优势。如果图片是黑白的,请使用灰度色彩空间。例如,您可以使用 convert 库通过如下命令优化 JPEG 图片(括号内的参数是可选的):convert INPUT.jpg -sampling-factor 4:2:0 -strip [-resize WxH] [-quality N] [-interlace JPEG] [-colorspace Gray/sRGB] OUTPUT.jpgpuzzle.jpgpuzzle.jpg(13501 字节)convert puzzle.jpg -sampling-factor 4:2:0 -strip -quality 85 -interlace JPEG -colorspace sRGB puzzle_converted.jpgpuzzle_converted.jpgpuzzle_converted.jpg(4599 字节)7 优化CSS 发送过程浏览器必须先处理当前网页的所以样式的布局信息。然后才能呈现内容。因此,浏览器会阻止呈现网页内容。直到外部样式表表以下载完毕处理完毕,想要详细了解关键呈现路径。获取如何取消阻止的呈现优化CSS 发送过程相关的提示如果外部CSS资源较小。您可以将直播插入HTML文档中,较小的CSS文件可以让浏览器顺畅五组的网站。请注意。如果CSS  文件较大。完全内嵌CSS  并缓加其余样式。内嵌较小CSS文件的实例请勿内嵌较大的数据url请勿内嵌CSS属性<html><head><style>.bule{color:blue}</style></head><body class="blue"><div class="blue">Hello world</div><noscript id="deferred-styles"><link rel="stylesheet" type="text/css" href="small.css"/></noscript><script>var loadDeferredStyles = function (){var addStylesNode = document.getElementById('deferred-styles');var replacement = document.createrElement('div');replacement.innerHTML =addStylesNode.textContent;document.body.appendChild(replacement);addStylesNode.parentElement.removeChild(addStylesNode);};var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;if(raf) ref(funciton(){window.setTimeout(loadDeferredStles,0);});else window.addEventListener('load',loadDeferredStyles);</script></body></html>
8 缩减首屏内容大小如果所需要的数据超出的初始拥塞窗口的限制。系统就是继续用你难道服务器用户的浏览器 之间进行更多的往返的时候,如果用户使用的延迟时间较长的网络。该问题坑你会显著拖慢网页的加速速度建议我哪敢呀加速几种方法。合理构建HTML 一遍首先加载关键首屏内容。减少资源所用的数据量。合理的构建的HTML 以便首先加载关键的首屏的内容请首先加载网页内容。合理构建网页一时来服务器的出示响应发送必要数据,从而立即呈现网络关键部分,并暂缓呈现其余部分。可能意味着,您必须将CSS 拆分两个部分。一个负责挑战内容ATF 部分的样式内嵌部分。以及一个可缓存的呈现的部分请参考示列。了解途观调整网站结构提高加载速度,如果您的HTML 先加载第三方软件 在家中主要内容。加载顺序更改为加载主要内容。如果您的网站的采用两列湿布局。而您的HTML 加载边栏。减少资源所有数据量当经过重新设计的网站都可在过个涉笔政策运行的首关键内容。使用一下技术减少用户呈现是网页的数据量减资源的大小。通过移除不必要的空格的评论来缩减HTML CSS JAVAscript 的大小。用过使用重命名资源中间变量的名称工具,实现进一步优化尽可能考虑使用CSS 而非图片启用压缩功能。9 移除会阻止内容呈现的 JavaScript浏览器必须先通过解析HTML 标记构建的DOM树 然后才能呈现网页,在此过程中。每当解析遇到脚本,必须先停止解析HTML执行平执行该脚本,然后才继续解析,复议外部脚本,系统还会强制解析相应的资源下载完毕。建议您应尽可能避免使用会阻止内容呈现的 JavaScript,尤其是必须先由系统获取然后才能被执行的外部脚本。用于呈现网页内容的脚本可内嵌到网页中,以避免产生额外的网络请求,但内嵌的内容不能太大,而且必须可被快速执行以提供良好的性能。对初次呈现不重要的脚本应设为异步加载,或推迟到首次呈现完毕后再开始加载。请注意,要通过这种方式缩短加载用时,您还必须优化 CSS 发送过程。内嵌 JavaScript会阻止内容呈现的外部脚本会强制的浏览器等待系统获取JAVASCRIPT 可能会咋网页系统中增加一次多次的网络往返过程。如果外部的脚本较小,您可将内容海子街内嵌到HTML文档中。以避免网络延迟,<html><head><script type="text/javascript" src="small.js"></script></head><body><div>Hello, world!</div></body>
</html>
您就可以按照如下方式内嵌脚本:
<html><head><script type="text/javascript">/* contents of a small JavaScript file */</script></head><body><div>Hello, world!</div></body>
</html>
内嵌脚本内容可消除对 small.js 的外部请求,并可使浏览器缩短首次呈现网页所需的时间。但请注意,内嵌也会导致 HTML 文档变大,并且相同的脚本内容可能需要内嵌在多个网页中。因此,我们建议您只内嵌较小的脚本以实现最佳性能。
将 JavaScript 设为异步加载默认情况下,JavaScript 会阻止 DOM 构建,因而会导致网页的首次呈现时间延迟。为防止 JavaScript 阻止解析器正常运行,我们建议您对外部脚本使用 HTML async 属性。例如:<script async src="my.js">要详细了解异步脚本,请参阅解析器被阻止与异步 JavaScript。 请注意,异步脚本未必会按指定的顺序执行,且不应使用 document.write。考虑到这些限制,如果脚本有赖于执行顺序或者需要访问或修改网页的 DOM 或 CSSOM,那么您可能需要重新编写此类脚本。延迟加载 JavaScript如果某些脚本对于初次呈现网页不是必不可少的,此类脚本的加载和执行便可被推迟到初次呈现网页后或网页的其他关键部分加载完毕后。这样做有助于减少资源争用并提高性能。常见问题解答如果我使用的是 JavaScript 库(例如 jQuery),该怎么做?很多 JavaScript 库(例如 jQuery)都可用来增强网页,从而为网页增添额外的互动性、动画和其他效果。不过,这些行为大多可在首屏内容呈现后再添加,以确保无虞。 请考虑将此类 JavaScript 设为异步加载或推迟其加载时间。

转载于:https://my.oschina.net/u/3692906/blog/1923925

这篇关于pageSpeed Insights 图片对网站优化方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/730999

相关文章

Android使用ImageView.ScaleType实现图片的缩放与裁剪功能

《Android使用ImageView.ScaleType实现图片的缩放与裁剪功能》ImageView是最常用的控件之一,它用于展示各种类型的图片,为了能够根据需求调整图片的显示效果,Android提... 目录什么是 ImageView.ScaleType?FIT_XYFIT_STARTFIT_CENTE

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

Java Response返回值的最佳处理方案

《JavaResponse返回值的最佳处理方案》在开发Web应用程序时,我们经常需要通过HTTP请求从服务器获取响应数据,这些数据可以是JSON、XML、甚至是文件,本篇文章将详细解析Java中处理... 目录摘要概述核心问题:关键技术点:源码解析示例 1:使用HttpURLConnection获取Resp

python实现svg图片转换为png和gif

《python实现svg图片转换为png和gif》这篇文章主要为大家详细介绍了python如何实现将svg图片格式转换为png和gif,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录python实现svg图片转换为png和gifpython实现图片格式之间的相互转换延展:基于Py

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

Java实现优雅日期处理的方案详解

《Java实现优雅日期处理的方案详解》在我们的日常工作中,需要经常处理各种格式,各种类似的的日期或者时间,下面我们就来看看如何使用java处理这样的日期问题吧,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言一、日期的坑1.1 日期格式化陷阱1.2 时区转换二、优雅方案的进阶之路2.1 线程安全重构2

MySQL索引的优化之LIKE模糊查询功能实现

《MySQL索引的优化之LIKE模糊查询功能实现》:本文主要介绍MySQL索引的优化之LIKE模糊查询功能实现,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前缀匹配优化二、后缀匹配优化三、中间匹配优化四、覆盖索引优化五、减少查询范围六、避免通配符开头七、使用外部搜索引擎八、分

C#实现将Excel表格转换为图片(JPG/ PNG)

《C#实现将Excel表格转换为图片(JPG/PNG)》Excel表格可能会因为不同设备或字体缺失等问题,导致格式错乱或数据显示异常,转换为图片后,能确保数据的排版等保持一致,下面我们看看如何使用C... 目录通过C# 转换Excel工作表到图片通过C# 转换指定单元格区域到图片知识扩展C# 将 Excel

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的