HTML5 应用程序缓存


使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本。


什么是应用程序缓存(Application Cache)?

HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问。

应用程序缓存为应用带来三个优势:

  1. 离线浏览 - 用户可在应用离线时使用它们
  2. 速度 - 已缓存资源加载得更快
  3. 减少服务器负载 - 浏览器将只从服务器下载更新过或更改过的资源。

浏览器支持

Internet Explorer 10, Firefox, Chrome, Safari 和 Opera 支持应用程序缓存.


HTML5 Cache Manifest 实例

下面的例子展示了带有 cache manifest 的 HTML 文档(供离线浏览):

实例

<!DOCTYPE HTML>
<html manifest="demo .appcache">

<body>
The content of the document......
</body>

</html>

尝试一下 »


Cache Manifest 基础

如需启用应用程序缓存,请在文档的<html> 标签中包含 manifest 属性:

<!DOCTYPE HTML>
<html manifest="demo .appcache">
...
</html>

每个指定了 manifest 的页面在用户对其访问时都会被缓存。如果未指定 manifest 属性,则页面不会被缓存(除非在 manifest 文件中直接指定了该页面)。

manifest 文件的建议的文件扩展名是:".appcache"。

 请注意,manifest 文件需要配置正确的 MIME-type,即 "text/cache-manifest"。必须在 web 服务器上进行配置。


Manifest 文件

manifest 文件是简单的文本文件,它告知浏览器被缓存的内容(以及不缓存的内容)。

manifest 文件可分为三个部分:

  • CACHE MANIFEST - 在此标题下列出的文件将在首次下载后进行缓存
  • NETWORK - 在此标题下列出的文件需要与服务器的连接,且不会被缓存
  • FALLBACK - 在此标题下列出的文件规定当页面无法访问时的回退页面(比如 404 页面)

CACHE MANIFEST

第一行,CACHE MANIFEST,是必需的:

CACHE MANIFEST
/theme.css
/logo.gif
/main.js

上面的 manifest 文件列出了三个资源:一个 CSS 文件,一个 GIF 图像,以及一个 JavaScript 文件。当 manifest 文件加载后,浏览器会从网站的根目录下载这三个文件。然后,无论用户何时与因特网断开连接,这些资源依然是可用的。

NETWORK

下面的 NETWORK 小节规定文件 "login.php" 永远不会被缓存,且离线时是不可用的:

NETWORK:
login.php

可以使用星号来指示所有其他其他资源/文件都需要因特网连接:

NETWORK:
*

FALLBACK

下面的 FALLBACK 小节规定如果无法建立因特网连接,则用 "offline.html" 替代 /html5/ 目录中的所有文件:

FALLBACK:
/html/ /offline.html

注意: 第一个 URI 是资源,第二个是替补。


更新缓存

一旦应用被缓存,它就会保持缓存直到发生下列情况:

  • 用户清空浏览器缓存
  • manifest 文件被修改(参阅下面的提示)
  • 由程序来更新应用缓存

实例 - 完整的 Manifest 文件

CACHE MANIFEST
# 2012-02-21 v1.0.0
/theme.css
/logo.gif
/main.js

NETWORK:
login.php

FALLBACK:
/html/ /offline.html

提示:以 "#" 开头的是注释行,但也可满足其他用途。应用的缓存会在其 manifest 文件更改时被更新。如果您编辑了一幅图片,或者修改了一个 JavaScript 函数,这些改变都不会被重新缓存。更新注释行中的日期和版本号是一种使浏览器重新缓存文件的办法。


关于应用程序缓存的说明

请留心缓存的内容。

一旦文件被缓存,则浏览器会继续展示已缓存的版本,即使您修改了服务器上的文件。为了确保浏览器更新缓存,您需要更新 manifest 文件。

注意: 浏览器对缓存数据的容量限制可能不太一样(某些浏览器设置的限制是每个站点 5MB)。

HTML5 应用程序缓存 离线浏览【Application Cache】轻松地创建 web 应用的离线版本。相关推荐

  1. HTML5 应用程序缓存

    2019独角兽企业重金招聘Python工程师标准>>> 使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本. 什么是应用程序缓存( ...

  2. HTML5 - 应用程序缓存(Application Cache)

    为什么要使用Application Cache技术? 在HTML5之前,我们需要接入网络才能访问,这毫无疑问是网站多次请求服务器,造成速度变慢,对于PC用户,网络相对比较稳定,载入速度也不会差太多.但 ...

  3. HTML5应用程序缓存实现离线Web网页或应用

    HTML5应用程序缓存和浏览器缓存的区别. (有些)浏览器会主动保存自己的缓存文件以加快网站加载速度.但是要实现浏览器缓存必须要满足一个前提,那就是网络必须要保持连接.如果网络没有连接,即使浏览器启用 ...

  4. HTML5应用程序缓存Application Cache

    什么是Application Cache HTML5引入了应用程序缓存技术,意味着web应用可进行缓存,并在没有网络的情况下使用,通过创建cache manifest文件,可以轻松的创建离线应用. A ...

  5. w3c html5 客户端缓存数据格式,Html5应用程序缓存(Cache manifest)

    一.作用 离线浏览 - 根据文件规则把资源缓存在本地,脱机依然能够访问资源,联网会直接使用缓存在本地的文件.优化加载速度,节约服务器资源. 二.适用场景 正如 manifest 英译的名字:离线应用程 ...

  6. 神奇的HTML5离线存储(应用程序缓存)

    声明:本文为原创文章,如需转载,请注明来源并保留原文链接前端小尚,谢谢! 前言 使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本. HTML5引入 ...

  7. HTML 5 应用程序缓存

    2019独角兽企业重金招聘Python工程师标准>>> 使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本. 什么是应用程序缓存( ...

  8. 083_html5应用程序缓存

    1. 使用html5, 通过创建cache manifest文件, 可以轻松地创建web应用的离线版本. 2. 什么是应用程序缓存(Application Cache)? 2.1. html5引入了应 ...

  9. 通过应用程序缓存实现HTML5的离线浏览

    对Web开发者和设计者来说,离线浏览已经越来越重要了.能让用户离线浏览一直是站点设计的目标,但却很难实现.当我们进入到HTML5的时代,这种情形却发生了改变.你可以利用应用程序缓存(Applicati ...

最新文章

  1. Python学习 day01打卡
  2. 自己录制的Oracle 相关视频(陆续更新)
  3. [常见错误]-bash: pg_config: command not found
  4. [watevrCTF 2019]Baby RLWE
  5. 4.WCF事务【Transaction】
  6. .NET 6新特性试用 | 异步流
  7. 数据重现之11.5.2:RAID5同步与异步的判断
  8. redmine使用指南_Redmine安装与入门指南
  9. 【蓝桥杯Java组】一学就会的小技巧(五):矩阵快速幂
  10. WebDriver下载地址
  11. 抖音跳转微信小卡片怎么做不封号
  12. C++11 学习笔记(持续更新)
  13. vue之push() pop() shift() unshift() splice() sort() reverse()等等
  14. 利用python画钻石_用Python制作钻石ASCII艺术品
  15. 磁盘存储链式的B树与B+树(上课笔记)
  16. 泡泡一分钟:BLVD: Building A Large-scale 5D Semantics Benchmark for Autonomous Driving
  17. 基于KEIL 的合并boot.binapp.bin的脚本文件
  18. 如何做好电商运营?倍赞网:这十个步骤必须懂
  19. 2023最新微信群裂变推广分享加群HTML源码/纯开源/UI简约大气
  20. 滴滴如何调度_滴滴研究院:解读滴滴调度系统中的人工智能

热门文章

  1. HTML5基础知识,3D动画效果实现,定位,弹性布局以及CSS样式的设定,响应式,移动端
  2. 计算机与高中数学的整合,高中数学教学论文 计算机与数学教学的整合.pdf
  3. 计算机配置方案玩游戏不卡,为什么网吧电脑配置那么低,打游戏却一点也不卡?...
  4. 天海投资股东名单发生变化 或因看好公司转型
  5. 小升初报名修改密码出现内部服务器错误,小升初报名表填写错了怎么办
  6. 梦幻西游七个鸿蒙石碎片,梦幻西游花果山门派法宝及神器技能曝光[多图]
  7. 百钱买百鸡python编程列表推导式_使用循环和列表推导式两种方法求解百钱买百鸡问题。假设大鸡5元一只,中鸡3元一只,小鸡1元三只,现有100元钱想买100只鸡,有多少种买法?...
  8. java多线程中CountDownLatch和join的使用
  9. 做短视频时如何引起用户共鸣,从三个角度出发,引起共鸣才能吸粉
  10. CF data structure 自制题单(一)