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