html - 基本的 HTML5 缓存

标签 html manifest browser-cache

我对 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/

相关文章:

java - 在导出的 Spring 项目中打包 Spring Jars - 更好的方法?

javascript - 启用 JSP 文件中包含的 Javascript、CSS 文件的缓存

Firefox: "Document Expired Error"用于 POST 页面

html - 一行中所有列的表格边框高度相等

javascript - 如何启用超链接以打开模态对话框,同时还允许在同一链接上的新选项卡中打开

javascript - CSS 问题 : Javascript password validation message placing error

java - 如何使用 BundleContext 从包 list 中获取属性值?

html - 不要使用缓存 list 缓存当前(索引)页面

html - 填充不适用于带边框的 div

google-chrome - Google Chrome缓存