Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 服务工作者缓存是否比http缓存快?_Javascript_Service Worker - Fatal编程技术网

Javascript 服务工作者缓存是否比http缓存快?

Javascript 服务工作者缓存是否比http缓存快?,javascript,service-worker,Javascript,Service Worker,测试页面具有静态JavaScript、CSS、图像等,它们存储在CDN中,缓存控制最大年龄设置为5年左右。我们收集用户打开页面的加载事件,平均时间约为1.9秒。当我添加一个服务工作者缓存并让它只缓存JavaScript、CSS和图像时,平均加载时间约为1.6秒 为什么服务工作者缓存可以减少页面加载时间?服务工作者可以缓存html文件。将html文件存储在http缓存中不是一个好主意,因为在缓存过期之前几乎没有办法更新您的站点 此外,如果您使用etags/如果不匹配,则会发送请求以检查文件在使用前

测试页面具有静态JavaScript、CSS、图像等,它们存储在CDN中,缓存控制最大年龄设置为5年左右。我们收集用户打开页面的加载事件,平均时间约为1.9秒。当我添加一个服务工作者缓存并让它只缓存JavaScript、CSS和图像时,平均加载时间约为1.6秒


为什么服务工作者缓存可以减少页面加载时间?

服务工作者可以缓存html文件。将html文件存储在http缓存中不是一个好主意,因为在缓存过期之前几乎没有办法更新您的站点


此外,如果您使用etags/如果不匹配,则会发送请求以检查文件在使用前是否已更改。

您如何设置测试和收集数据?另外:即使是1.6秒,页面加载时间也很长。你已经做了通常的事情来减少它了吗?最小化HTTP请求等。?根据您的测量方式,规范似乎回答了这个问题:除非作者删除条目,否则缓存对象不会过期。您的其他资源很可能会被从浏览器缓存中挤出。这是一个对Web和联机页面的ABTest,度量标准是平均页面加载时间。如何验证您的假设,即其他资源可能会被从浏览器缓存中推出。最新浏览器支持服务人员。可能是可以利用这项技术的用户只是拥有更快的设备,这会导致测试结果出现偏差。我的测试用于测试http缓存之间的服务工作者缓存,而不是缓存html。