当前位置: 首页 > Web前端 > HTML5

使用RAIL模型优化Web性能

时间:2023-04-06 00:04:09 HTML5

介绍RAIL模型是一个以用户为中心的性能模型。最终目标不是让一个网站在任何设备上都能快速运行,而是让用户开心。RAIL代表四个指标:Responseresponse:100ms以内响应Animation动画:10ms以内生成一帧IdleIdle:将延迟工作分成50ms块,利用空闲时间完成Loading:1000ms以内呈现内容Loading优化可以测试加载次数使用LighthousePageSpeedWebPageTestPingdom等工具。加载的主要内容有:文本内容需要压缩的文本内容。在不影响代码功能的情况下,通过删除空格缩进和不必要的字符来缩小。可以使用很多压缩工具,比如Minifer、HTMLMinifer等。在服务器端设置Gzip压缩。gzip擅长文本压缩,可以减少70%以上的体积,但对非文本压缩效果很差,比如图片。以apache服务器为例,设置.htaccess文件如下\text/xml减少第三方库的体积。比如jQuery的大部分功能你不用,只用它的单一功能,可以用其他方法代替,不用介绍整个库。删除图形内容中不需要的图像,或延迟它们的加载。选择合适的图片格式,需要背景透明时选择png,普通照片选择jpg,动画选择gif。png的质量并不明显优于jpg。正确选择JPG而不是PNG可以大大减少图片的大小。删除图片的元信息。元信息包括相机硬件信息、时间戳、软件信息、文件格式、地理信息等,对于大多数网站来说,这些信息并不重要。使用工具(VerExif)去除这些信息,压缩效果在10%左右。缩小图像尺寸或裁剪图像:根据设备使用合适尺寸的图像;裁剪图像以仅保留关键图像内容;压缩图片:使用在线工具tinypng对图片进行大幅压缩,可压缩50%~70%左右。HTTP请求所有资源都需要向服务器请求。请求优化方法包括:合并文本文件和合并图片资源,精灵图片使用HTTP2,HTTP2可以进行多次请求,大大提高了HTTP请求速度,提取关键脚本作为内联脚本应该先执行,而不是把所有东西都放在一个外部文件与其他脚本。HTTP缓存当浏览器第一次加载一个页面时,会将页面资源缓存到http缓存中,以便下次访问该页面时可以使用之前的缓存,这加快了访问速度。启用缓存和长期不会改变的缓存资源,比如网站logo设置缓存头,cache-control(no-cacheno-storepublicprivatemax-age)和expires参考MeasurePerformancewiththeRAILModel