我一直在阅读Dive Into HTML5中的离线章节,它给我留下了一些问题。
它说
每次更改离线 Web 应用程序中的资源之一时,都需要更改缓存清单文件本身。这可以像更改单个字符一样简单。我发现完成此操作的最简单方法是包含带有修订号的注释行。更改评论中的修订号,然后Web服务器将返回新更改的缓存清单文件,您的浏览器会注意到该文件的内容已更改,并会启动重新下载所有资源的过程清单。
但是,让我们以同一篇文章中讨论的 Wikipedia 示例为例。每当编辑文章时,必须更改清单文件以反映编辑,并且任何已离线存储页面的用户都会丢失它们,因为它们没有在清单中明确提及。这真的是可取的行为吗?如果是,为什么不执行以下操作:
- 将文件存储在脱机缓存中,直到它们被明确删除,即使清单发生更改
- 当文件被改变时更新缓存中的文件(例如,当服务器没有返回 304 Not modified 时)
如果一个人得到上述两点描述的行为,他的选择是什么?使用本地存储还是什么?