我被困在婚礼招待会上,我真的不想参加,而且我正在开车,所以显然我正在读服务工作者。我在手机上,所以不能玩任何东西,但想到它们是否是提高页面性能的可行选择?
图片是我网站上最大的杀手,我一半认为我们可以使用服务工作者来缓存它们以帮助缩短页面加载时间。据我所知,浏览器仍然发出http请求,只是响应来自SW缓存,而不是文件位置。我在这里错过了什么吗?这样做有什么实际好处吗?
答案 0 :(得分:4)
虽然常规http缓存与ServiceWorker缓存有很多重叠,但前者无法很好地处理的一件事是在许多客户端javascript应用程序中使用的动态生成的html。 即使应用程序的所有资源都是缓存命中,在应用程序可用之前编译和执行javascript仍然存在延迟。
Addy Osmani已经demonstrated how ServiceWorker can be used to cache the Shell of an app.在客户端上修改DOM时,它会在缓存中更新。下次请求该URL时,ServiceWorker会在应用程序启动之前回复可以使用的html。
另一个优势是lie-fi:当网络似乎可用时,但没有足够的数据包通过。 ServiceWorkers可以承受近乎难以察觉的超时,因为它们可以立即从缓存和服务,等待响应加载(如果有的话)。
答案 1 :(得分:0)
您的考虑无效。
服务工作者的工作方式类似于代理服务器,可以特别处理离线功能,推送通知,后台同步等一些离页操作。因此,在您的情况下,通过使用服务缓存图像,您将无法获得性能优势工作者通过传统浏览器的缓存方法。