HTML5 学习笔记 应用程序缓存
使用html5 通过创建cache manifest文件,可以轻松地创建web应用的离线版本。
html5引入了应用程序缓存,这意味着web应用可进行缓存,并可在没有因特网连接时进行访问。
应用程序缓存为应用带来三个优势:
1,离线缓存-用户可在应用离线时使用它们。
2,速度-已缓存资源加载得更快
3,减少服务器负载 浏览器将只从服务器下载更新过或更改过的资源。
HTML5 Cache Manifest实例
下面的例子展示了带有cache manifest的html文档(供离线浏览):
<!DOCTYPE HTML>
<html manifest="demo.appcache"> <body> </body> </html>
Cache Manifest基础
如需启用应用程序缓存,请在文档的html标签中包含manifest属性:
每个指定了manifest的页面在用户对其访问时都会被缓存。如果未指定manifest属性,则页面不会被缓存(除非在manifest文件中直接指定了该页面)
Tmanifest文件的建议的文件扩展名是:".appcache".
请注意:manifest文件需要配置正确的MIME-type,即"text/cache-manifest".必须在web服务器上进行配置。
Manifest文件
manifest文件是简单的文本文件,它告知浏览器被缓存的内容(以及不被缓存的内容)。
manifest文件可分为三个部分:
CACHE MANIFEST 在此标题下列出的文件将在首次下载后进行缓存
NETWORK 在此标题下列出的文件需要与服务器连接,且不会被缓存
FALLBACK,在此标题下列出的文件规定当页面无法访问回退页面
CACHE MANIFEST
第一行,CACHE MANIFEST是必需的:
CACHE MANIFEST
/theme.css
/logo.gif
/jquery.js
上面的manifest文件列出了三个资源:一个css文件,一个gif图像,以及一个js文件,当manifest文件加载后,浏览器会从网站的根目录下下载这三个文件。然后,无论用户何时与因特网断开连接,这些资源依然是可用的。
NETWORD
下面的NETWORD小节规定文件"login.php"永远不会被缓存,且离线时是不可用的:
FALLBACK
下面的FALLBACK小节规定如果无法建立因特网连接,则用"offline.html",替代/html5/目录中所有的文件:
FALLBACK:
/html/ /offline.html 注意: 第一个 URI 是资源,第二个是替补。
更新缓存
一旦应用被缓存,它就会保持缓存直到发生下列情况:
用户清空浏览器缓存
manifest文件被修改(参阅下面的提示)
由程序来更新应用缓存
关于应用程序缓存的说明
请留心缓存的内容
一旦文件被缓存,则浏览器会继续展示已缓存的版本,即使您修改了服务器上的文件。为了确保浏览器更新缓存,您需要更新manifest文件。
注意:浏览器对缓存数据的容量限制可能不太一样(某些浏览器设置的限制是每个闪站点5MB)
HTML5 学习笔记 应用程序缓存的更多相关文章
- HTML5学习(九)----应用程序缓存
参考教程:http://www.w3school.com.cn/html5/html_5_app_cache.asp 使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 w ...
- html5学习笔记一
HTML5学习笔记 <video>标记:定义视频,Ogg.MPEG4.WebM三种格式 <video src=”movie.ogg” controls=”controls”> ...
- HTML5学习总结-08 应用缓存(Application Cache)
一 应用缓存(Application Cache) 1 应用缓存 HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问. 应用程序缓存为应用带来三个优势: ...
- HTML 5 学习之应用程序缓存
什么是应用程序缓存(Application Cache)? HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问. 应用程序缓存为应用带来三个优势: 离线浏 ...
- html5学习笔记3——高级特性
一:Web存储 数据以 键/值 对存在, web网页的数据只允许该网页访问使用. web存储有两种: localStorage - 没有时间限制的数据存储,存于浏览器缓存 sessionStorage ...
- mybatis学习笔记(14)-查询缓存之中的一个级缓存
mybatis学习笔记(14)-查询缓存之中的一个级缓存 标签: mybatis mybatis学习笔记14-查询缓存之中的一个级缓存 查询缓存 一级缓存 一级缓存工作原理 一级缓存測试 一级缓存应用 ...
- Html5学习笔记1 元素 标签 属性
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- SpringBoot学习笔记:Redis缓存
SpringBoot学习笔记:Redis缓存 关于Redis Redis是一个使用ANSI C语言编写的免费开源.支持网络.可基于内存亦可以持久化的日志型.键值数据库.其支持多种存储类型,包括Stri ...
- HTML5学习笔记之表格标签
HTML5学习笔记之表格标签 其他HTML5相关文章 HTML5学习笔记之HTML5基本介绍 HTML5学习笔记之基础标签 HTML5学习笔记之表格标签 HTML5学习笔记之表单标签 HTML5学习笔 ...
随机推荐
- gropf
http://blog.csdn.net/yetyongjin/article/details/7717464 带-pg编译程序$ gcc -pg -o test test.c先运行程序$ ./tes ...
- [翻译] TLMotionEffect 重力感应
TLMotionEffect 重力感应 https://github.com/jvenegas/TLMotionEffect This category adds a motion effect t ...
- JQuery与JavaScript onload的区别
1.window.onload 不能有多个,后面的功能会覆盖前面.而jQuery(document).ready()可以存在多个. 2.window.onload 在页面所有元素(包括图片,引用文件) ...
- 将matlab的figure保存为pdf,避免图片太大缺失
有时画的matlab图太大,或者有太多的子图,导致图太宽,如果直接保存成pdf的话,会导致左右边丢失,显示不下.一个有效又简单的办法是: 1.在matlab figure里面,Edit -> ...
- 操作系统概念学习笔记三 cpu调度算法
一 基本概念 1 队列中的记录通常是进程的进程控制块. 2 CPU调度决策可在如下四种环境下发生 a 当一个进程从运行状态切换到等待状态 例如,I/O请求或调用wait以等待一个子进程的终止 b 党一 ...
- #pragma详细解释(一)
#pragma详细解释 #pragma详细解释(一) 2010-04-18 14:21:00| 分类: 默认分类 | 标签: |字号大中小订阅 在#Pragma是预处理指令它的作用是设定编 ...
- An extensible Factory Pattern example
I have read the book Api Design For C++ recently , and I must say that it is a masterpiece. There is ...
- C# 解决无法识别的属性 configProtectionProvider
在使用.Net自身提供的加密本配置文件后再用System.Configuration.ConfigurationManager.AppSettings["key"]获取值时会出现“ ...
- crm2013安装和部署语言包
步骤 1:安装语言包 假设具有执行 Microsoft Dynamics CRM for Microsoft Office Outlook 的用户,除了在执行 Microsoft Dynamics C ...
- DevExpressComponents-14.2.5 破解过程,正在编写,未完
首先,批评一下cnblogs,在win10的环境下,需要加入到兼容视图列表方可正常编辑内容, 声明,本人在14.2.3 的源代码环境下,编译未通过,相关功能报错,索性选择破解,在此,只是学习测试使用, ...