HTML 5的“离线网络应用程序”功能有哪些新功能尚未在所有浏览器中提供?
离线缓存是浏览器的工作 - 它是如何成为HTML的工作的?
Web缓存是一种机制 Web的临时存储(缓存) 文档,例如HTML页面和 图像,以减少带宽使用, 服务器负载和感知滞后。网络 缓存存储文档的副本 穿过它;随后 请求可能会满足 如果满足某些条件,则缓存。
正如维基百科关于Web cache的文章所述。
这是为W3C网站中的离线网络缓存编写的:
为了让用户能够继续 与Web应用程序交互和 文件甚至在他们的网络上 连接不可用 - for 例如,因为他们正在旅行 在ISP的覆盖范围之外 - 作者可以提供一个清单 列出所需的文件 Web应用程序脱机工作 并导致用户的浏览器 保留文件的副本以供使用 脱机。
什么是HTML 5在缓存方面做得更好和不同?
它与offline mode in Internet Explorer 5相似吗?我们可以将数据缓存超出浏览器中设置的空间限制吗?
请举个例子,以便我了解HTML 5离线缓存和浏览器缓存的区别。
答案 0 :(得分:2)
Web浏览器缓存是指浏览器决定在本地存储文件以提高性能。 HTTP允许Web服务器向浏览器建议存储文件的时间,并允许浏览器询问服务器文件是否已更改(以便它们可以避免重新下载)。
但是,它并非旨在可靠地存储离线应用程序所需的资产。它最终取决于浏览器是否以及多长时间来缓存文件。如果浏览器无法联系服务器以检查它是否是最新版本,浏览器通常会停止使用其缓存版本。
HTML5离线Web应用程序规范为Web作者提供了告诉浏览器存储哪些内容以供脱机访问的功能,并要求浏览器在这些文件处于联机状态时使这些文件保持最新。它还提供了一个DOM属性,告诉开发人员浏览器是在线还是离线,以及在线状态发生变化时触发的事件。
As Peeter describes in his answer,这允许Web应用程序开发人员在用户离线时存储用户输入的数据,然后在他们再次联机时与服务器同步。开发人员必须手动执行此存储和同步,因为浏览器仅提供指示在线状态的事件,但如果浏览器也支持localStorage,则开发人员可以将数据存储在那里。
我最好不要指向潜入HTML5的相关章节:http://diveintohtml5.ep.io/offline.html
答案 1 :(得分:1)
您现在可以缓存动态数据,而不仅仅是js / css / html文件/图像。
假设您在浏览器中打开了待办事项列表应用程序。您已连接到互联网,并且您正在添加一些您必须要做的事情。
砰的一声,你在没有连接的飞机上。你有6个小时的时间杀死所以你决定完成一些工作。您完成了待办事项列表中的所有内容(列表仍在浏览器中打开)。您选择所有项目并将其状态更改为“已完成”。您的飞机着陆,您打开笔记本电脑并刷新页面。现在,您在没有连接的情况下所做的所有更改都会同步到服务器,因为您现在已经建立了互联网连接。