HTML5 应用程序缓存

HTML5 应用程序缓存:原理、实践与演进 HTML5应用程序缓存曾助力Web应用离线访问,有三大优势,但因机制缺陷、调试复杂等被弃,了解它有助于把握技术演进。 阅读详情

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

注意:manifest 的技术已被 web 标准废弃,不再推荐使用此功能。


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

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

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

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

浏览器支持

Internet Explorer

Firefox

Opera

Google Chrome

Safari

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


HTML5 Cache Manifest 实例

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

实例

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

<body>
文档内容......
</body>

</html>


尝试一下 »


Cache Manifest 基础

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

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

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

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

Remark

 请注意,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

Remark

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


关于应用程序缓存的说明

请留心缓存的内容。

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

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

别再只设接触压力了!用ANSYS Workbench模拟O型圈密封泄漏的完整流程 本文详细介绍了在ANSYS Workbench中模拟O型圈密封泄漏的完整流程,重点解析了流体渗透压力载荷的设置与应用。通过双物理场耦合模型和精确的参数配置,帮助工程师准确评估密封性能,避免传统方法仅考虑接触压力的局限性。文章还提供了常见问题的解决方案和工程实践建议,提升密封设计的可靠性。 阅读详情

相关推荐

3分钟搞定!QQ音乐歌单导出Excel保姆级教程(含歌单ID获取技巧)

本文提供了一份详细的QQ音乐歌单导出Excel保姆级教程,帮助用户轻松备份和管理个人音乐收藏。教程核心在于获取歌单ID,并利用浏览器开发者工具执行脚本提取数据,最后通过Excel导入功能快速生成结构化表格。整个过程无需编程基础,3分钟即可搞定,是个人数据管理的实用技巧。

weixin_29008691的博客 1389

关于html5打包androidApp缓存问题

angular+html5打包成app时,android手机会出现缓存问题 这个项目使用了gulp打包压缩js/css,使用了每改一次内容就修改文件名字方式来防止缓存 一、使用npm run hashmark 修改文件名 安装npm包里的hashmark,运行 npm i hashmark 在配置文件中package.json中,运行scripts里的命令(npm run ...

fish_dw的博客 2406

从零到一:手把手教你用SAM-BA工具完成嵌入式系统烧录

本文详细介绍了如何使用SAM-BA工具完成嵌入式系统烧录的全过程,包括环境搭建、硬件连接、Bootloader烧录以及完整系统镜像的烧录步骤。针对常见问题提供了实用的排查指南,并分享了批量烧录和自定义脚本的高级技巧,帮助开发者高效完成嵌入式系统开发。

weixin_42523792的博客 380

【温故而知新】HTML5 应用程序缓存

需要注意的是,更新缓存可能会涉及到缓存失效的问题。每当清单文件发生更改时,浏览器将下载新的清单文件,并将其中列出的资源添加到缓存中。更改资源的 URL:如果你在 HTML 文件或清单文件中引用的资源 URL 与之前的版本不同,浏览器将会将新的资源下载到缓存中,覆盖旧版本。请注意,HTML5 应用程序缓存在最新的 Web 规范中已被废弃,推荐使用 Service Worker 来进行离线缓存和更新的操作。当你更新资源时,只需更改版本号或时间戳,浏览器将认为这是一个新的 URL,从而下载新的资源。

日常笔记/总结/系列知识梳理 1495

MQTT(一)C#使用 MQTTnet 快速实现 MQTT 通信(文末有完整Demo下载)

目录 MQTT(一)C#使用 MQTTnet 快速实现 MQTT 通信(文末有完整Demo下载) MQTT(二)在windows64位上安装Python环境 MQTT(三)Python客户端+net客户端+net服务端 简单通信 MQTT(四)树莓派开机自动运行Python客户端 MQTT(五)EMQ开源MQTT消息服务器 1 什么是 MQTT ? MQTT(Message Que...

pw的博客 10万+

ClickHouse分布式表原理:大数据分片存储与查询

我是一名资深大数据工程师,专注于ClickHouse优化和分布式架构设计。拥有5年以上大数据开发经验,曾为多家电商、金融公司提供ClickHouse解决方案。欢迎关注我的博客(),一起探讨大数据技术!留言互动:你在使用ClickHouse分布式表时遇到过什么问题?欢迎在评论区分享,我会一一解答!

AI大模型应用之禅 958

【HTML】HTML5的应用程序缓存

【重构前端知识体系之HTML】HTML5的应用程序缓存 什么是应用程序缓存(Application Cache) 使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本。 应用程序缓存为应用带来三个优势 离线浏览 - 用户可在应用离线时使用它们 速度 - 已缓存资源加载得更快 减少服务器负载 - 浏览器将只从服务器下载更新过或更改过的资源。 Cache Manifest 如需启用应用程序缓存,请在文档的 <html> 标签中包含 manifes

归子莫的博客 851

从生成到检测:全面解析Deepfake技术的演进与对抗策略

本文全面解析了Deepfake技术的演进与对抗策略,从GAN生成技术到先进的检测手段,探讨了其在娱乐与安全领域的双重影响。文章详细介绍了Deepfake的核心原理、技术迭代关键节点以及最新的检测方法,揭示了AI生成与识别的激烈博弈。同时,展望了量子计算和生物特征认证在未来攻防战中的潜在应用。

jenkins8butler的博客 254

学习HTML5的应用程序缓存

使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本。 什么是应用程序缓存(Application Cache)? HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问。应用程序缓存为应用带来三个优势: 离线浏览 - 用户可在应用离线时使用它们 速度 - 已缓存资源加载得更快 减少服务器负载 - 浏览器将只从服务器下载更新过或更改过的资源。 浏览器支持 所有主流浏览器均支持应用程序缓存,除了 Internet

the_lower的博客 222

【3天快速入门WPF】从小白到新手入门教程

嘿,小伙伴们!如果你已经有一定的C#开发基础,但想快速掌握WPF开发,达到企业级水准,那接下来的这个三天快速入门计划绝对适合你!虽然听起来有点挑战,但别担心,只要跟着这个高强度、结构化的学习计划,你一定能搞定它。首先,我们得搞清楚,WPF的核心知识点到底有哪些。要想达到企业级开发水准,XAML、数据绑定、MVVM、控件使用、命令系统、样式模板这些统统都得拿下。听起来是不是有点多?别急,我们把任务分解到三天里,每天安排合理的内容,保证理论和实践相结合,让你学得扎实又高效。

Zy100Papa的博客 1422

【已解决】WorkBuddy 国内版与国际版共存 + 关闭自动更新 教程

本文介绍在Windows系统中同时安装并共存WorkBuddy国内版与国际版的完整方案,通过修改product.json文件关闭启动自动更新,修复缓存配置污染问题,确保两版本互不干扰、数据独立。重点解决因共享身份标识导致的更新源错乱、进程锁冲突及自动覆盖风险,提供命令行备份与修改步骤,并强调手动升级时需避免使用应用内更新功能,以规避平台参数错位缺陷。

人生是一场修行 1451

html应用程序缓存,HTML5 应用程序缓存

HTML5 应用程序缓存使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本。什么是应用程序缓存(Application Cache)?HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问。应用程序缓存为应用带来三个优势:离线浏览 - 用户可在应用离线时使用它们速度 - 已缓存资源加载得更快减少服务器负载...

weixin_34184876的博客 242

【WRFDA教程第四期】雷达数据同化(Radar Data Assimilation)

雷达数据同化(Radar Data Assimilation)

WW、forever的博客 1758

html5 缓存资源,HTML5 应用程序缓存

HTML5 应用程序缓存使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本。什么是应用程序缓存(Application Cache)?HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问。应用程序缓存为应用带来三个优势:离线浏览 - 用户可在应用离线时使用它们速度 - 已缓存资源加载得更快减少服务器负载...

weixin_36448245的博客 221

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

html应用程序缓存,html5应用程序缓存 – HTML5教程

上一章HTML5教程请查看:html5 Web存储在本教程中,你将学习如何使用HTML5缓存特性创建离线应用程序。什么是应用程序缓存?通常,大多数基于web的应用程序只有在你在线时才能工作。但是HTML5引入了一种应用程序缓存机制,允许浏览器自动保存HTML文件和所有其他需要在本地机器上正确显示的资源,这样浏览器仍然可以在没有互联网连接的情况下访问web页面及其资源。以下是使用HTML5应用缓存功...

weixin_33649132的博客 187

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

HTML5应用程序缓存

使用HTML5,通过创建一个cache manifest文件,可以轻松地创建web应用的离线版本。 什么是HTML5应用程序缓存? 自从HTML5引入了应用程序缓存,这意味着web可以进行缓存,可以在没有连接网络的情况下继续访问web. 应用程序缓存为应用带来了三个优势: 1、离线浏览-用户可以应用离线时使用它 2、速度-已缓存资源加载更快 3、减轻服务器的负载-浏览器只从服...

adiking520110的博客 232

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

什么是html5应用程序缓存

经常听说缓存缓存 却不知道缓存究竟是怎么回事? 今天要说的缓存就是指没有网络连接时也可以进行访问 应用程序缓存带来的好处是什么呢? 离线浏览 用户可以在应用离线时使用它 例如现在的电视剧 不都是先缓起来然后在没网的时候还可以看电视一样的道理吧 速度 已经缓存的资源加载的更快 减少服务器负载 浏览器只从服务器下载更新过或更改过的资源 所有主流浏览器均支持应用程序缓存 除了in...

weixin_42446516的博客 284

HTML5基础教程(15)应用程序缓存

文章目录导语何为应用程序缓存浏览器支持HTML5 Cache Manifest 实例Cache Manifest 基础Manifest 文件CACHE MANIFESTNETWORK更新缓存结语 导语 本篇文章将为各位读者介绍应用程序缓存相关的知识。在HTML5中,我们通过创建一个 cache manifest 文件,就可以毫不费力地得到一个web 应用的离线版本。 何为应用程序缓存 应用程序缓存(Application Cache),可以将页面上的数据信息在离线状态下访问,HTML5引入应用程序缓存,为应

DTCloud 1331
上一篇: HTML5 Web IndexedDB 数据库
下一篇: HTML5 WebSocket
dodo2016
博客等级 码龄2年 230粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值