javascript - Service Worker 缓存比 http 缓存快吗?
问题描述
测试页面有静态 JavaScript、CSS、图像等,它们存储在 CDN 中,缓存控制 max-age 设置为 5 年左右。我们收集load
用户打开页面的事件,平均大约1.9s。当我添加一个 Service Worker 缓存并让它只缓存 JavaScript、CSS 和图像时,平均load
时间约为 1.6 秒。
为什么服务工作者缓存可以减少页面加载时间?
解决方案
Service Worker 可以缓存 html 文件。将 html 文件存储在 http 缓存中并不是一个好主意(因为在缓存到期日期之前几乎无法更新您的网站)
此外,如果您使用etags/If-None-Match
,则会发送请求以检查文件在使用之前是否已更改。
推荐阅读
- kubernetes-helm - 在命令行上覆盖嵌套的 Helm 值不起作用
- javascript - 如何在 mySQL 的 api 调用中格式化 DATETIME 格式?
- c# - 如何使用 C#、MOQ 和 XUnit 初始化测试数据以模拟上下文?
- android - Codenameone 将 mimetype(PNG) 关联到我的应用程序
- r - 在箱线图中显示均值,并绘制折线图
- python-3.x - GeckoDriver 必须在在线服务器(wayscript.com)的可执行路径中
- date - 在 Power BI 中每天显示关键度量的预期值,不包括周末和公共假期
- php - 数组键的随机数,重复的相同随机数
- node.js - NodeJS - 在服务器创建后设置 http 服务器请求监听器
- java - 如何设置 Java 11 的最大内存使用量?