Ale*_*lov 6 google-chrome service-worker cachestorage
我一直在分析复杂应用程序的缓存存储使用情况,当我意识到存储的图像或具有特定内容长度的脚本N
实际上占用5N-10N
了缓存存储空间.
考虑这个示例:我通过服务工作者从OpenStreetMap请求图像并将其存储在缓存中.缓存中只存储一个图像.Chrome版本是最新版本(版本65.0.3325.146(官方版本)(64位)).
因此,问题在于具有6.4KB
实际占用13.8MB
高速缓存存储大小的图像.我错过了什么吗?
实例可以在https://googlechrome.github.io/samples/service-worker/basic/上看到- 少于10KB
几乎占用50KB
缓存存储的脚本.
因此,问题是:当文件通过服务工作者缓存时,它们占用的空间会显着增加?我同意实际请求的权重大于实际响应,但不是10倍.
可能有用的链接:
在OSM磁贴的情况下,高缓存使用来自不透明请求.
当您从另一个域缓存某些内容时,您只能缓存它而不会以任何方式查看内容.这使得请求不透明.你无法摆弄代码中的内容,只能缓存它,它是一个黑盒子.为了避免信息泄漏,浏览器在缓存资源时实现填充.因此,据报道,100kb的图像占用了7mb的缓存,实际报告的大小因浏览器而异.
这只意味着您将能够在超出配额超出异常之前在SW逻辑中缓存更少的不透明请求.所有缓存的请求 - 即使实际上非常小 - 都会在缓存中占用大量(填充)空间以避免信息泄漏.
在第二种情况下,我认为这是一个错误.
归档时间: |
|
查看次数: |
1694 次 |
最近记录: |