我对 HTML5 缓存有点慢,不过我只是有一些简单的问题。
1)缓存 list 中的数据缓存多长时间?
2)如果我更新数据,我如何确保客户端在新版本可用时检查它,或者这已经完成了?
3)此外,这对于非 0 移动环境是否完全无用,还是可以加快桌面上的加载时间?
<html lang="en" manifest="offline.manifest">
离线 list
CACHE MANIFEST
index.html
style.css
image.jpg
image-med.jpg
image-small.jpg
notre-dame.jpg
最佳答案
1) 只要用户关心缓存它。完全摆脱缓存的唯一方法是进入浏览器设置并明确删除它。
2) 如果更新 list 文件,客户端将下载所有文件的新版本。此下载仍受“旧”HTTP 缓存规则约束,因此请适当设置 header ,同时确保在 list 文件本身上发送“无缓存” header 。 rules from HTML5 Boilerplate可能是一个很好的起点。
3) 请记住,台式机也可能会失去连接。此外,将文件放在应用程序缓存中意味着它们始终在本地提供,因此,如果您对放入其中的内容保持清醒,应用程序缓存可以减少带宽和延迟。我所说的明智的意思是:如果大多数访问者只看到您网站的几个页面,而您每周更新整个网站的 list ,那么如果您强制他们缓存大量内容,他们最终可能会使用更多带宽他们从不查看的页面的静态文件。
要真正减少 future HTML5 网站的带宽和延迟:为所有 Assets 和静态框架使用应用程序缓存;使用类似 mustache 的东西从 JSON 渲染所有内容;通过 Web Sockets 发送该 JSON代替 HTTP,为您节省 ~800 字节和每个请求的双向网络握手;使用 Local Storage 缓存数据以节省您再次获取它,并使用 History API 管理导航.
关于html - 基本的 HTML5 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7855921/