我正在阅读有关服务工作者预缓存的信息,最终得到了这个预缓存。
我不明白为什么它使用带有哈希的固定网址。每次文件更改时都必须动态创建它们。
那么手动放置它们并将修订设置为 null 有什么意义呢?
如果您谈论的是 Workbox 将文件哈希值标记为 URL 的方式,那么我可以回答这个问题。
哈希是文件内容的计算。在您更改文件中的任何内容之前,它将保持不变。然后文件具有不同的哈希值。因此,每次运行脚本以生成服务辅助角色时,Workbox 都会生成一个清单。
然后,当安装服务工作进程时,它将仅获取已更新的网络资产的更新。它还可以进行哈希检查以验证文件是否符合预期。
我在没有清单文件和维护构建步骤的情况下完成此操作的另一种方法是向网络资产发出 HEAD 请求。服务器应返回上次更新的标头值,您可以根据创建文件时缓存中的值进行检查。
我还没有完全完善这种技术,但是当我让它稳定下来时,我可能会写一篇关于该方法的文章。
但最终目标是消除尽可能多的往返,并减少服务器和客户端的数据负担。