在这篇文章中,我们将带领您了解HTML5应用程序缓存的全貌,包括html5应用程序缓存和浏览器缓存区别的相关情况。同时,我们还将为您介绍有关HTML5应用程序缓存、HTML5应用程序缓存_html/c
在这篇文章中,我们将带领您了解HTML5 应用程序缓存的全貌,包括html5应用程序缓存和浏览器缓存区别的相关情况。同时,我们还将为您介绍有关HTML 5 应用程序缓存、HTML 5 应用程序缓存_html/css_WEB-ITnose、HTML 5应用程序缓存使用总结、html5 web应用程序缓存的知识,以帮助您更好地理解这个主题。
本文目录一览:- HTML5 应用程序缓存(html5应用程序缓存和浏览器缓存区别)
- HTML 5 应用程序缓存
- HTML 5 应用程序缓存_html/css_WEB-ITnose
- HTML 5应用程序缓存使用总结
- html5 web应用程序缓存
HTML5 应用程序缓存(html5应用程序缓存和浏览器缓存区别)
使用应用程序缓存,通过创建 cache manifest 文件,可轻松创建 web 应用的离线版本。什么是应用程序缓存? (推荐学习:html教程)
HTML5 引入了应用程序缓存(Application Cache),这意味着可对 web 应用进行缓存,并可在没有因特网连接时进行访问。
应用程序缓存为应用带来三个优势:
离线浏览 - 用户可在应用离线时使用它们速度 - 已缓存资源加载得更快减少服务器负载 - 浏览器将只从服务器下载更新过或更改过的资源
浏览器支持
表格中的数字指示完全支持应用程序缓存的首个浏览器版本。
HTML Cache Manifest 实例
下例展示了带有 cache manifest 的 HTML 文档(供离线浏览):
实例
<!DOCTYPE HTML> <html manifest=demo.appcache> <body> 文档内容 ...... </body> </html>
HTML 5 应用程序缓存
使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本。
什么是应用程序缓存(Application Cache)?
HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问。
应用程序缓存为应用带来三个优势:
- 离线浏览 - 用户可在应用离线时使用它们
- 速度 - 已缓存资源加载得更快
- 减少服务器负载 - 浏览器将只从服务器下载更新过或更改过的资源。
浏览器支持
所有主流浏览器均支持应用程序缓存,除了 Internet Explorer。
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 小节规定文件 "login.asp" 永远不会被缓存,且离线时是不可用的
NETWORK:
login.asp
#可以使用星号来指示所有其他资源/文件都需要因特网连接:
NETWORK:
*
# FALLBACK 小节规定如果无法建立因特网连接,则用 "offline.html" 替代 /html5/ 目录中的所有文件:
FALLBACK:
/html5/ /404.html
更新缓存
一旦应用被缓存,它就会保持缓存直到发生下列情况:
- 用户清空浏览器缓存
- manifest 文件被修改(参阅下面的提示)
- 由程序来更新应用缓存
# 实例 - 完整的 Manifest 文件
CACHE MANIFEST
# 2012-02-21 v1.0.0
/theme.css
/logo.gif
/main.js
NETWORK:
login.asp
FALLBACK:
/html5/ /404.html
重要的提示:以 "#" 开头的是注释行,但也可满足其他用途。应用的缓存会在其 manifest 文件更改时被更新。如果您编辑了一幅图片,或者修改了一个 JavaScript 函数,这些改变都不会被重新缓存。更新注释行中的日期和版本号是一种使浏览器重新缓存文件的办法。
HTML 5 应用程序缓存_html/css_WEB-ITnose
html 5 应用程序缓存的介绍
http://www.w3school.com.cn/html5/html_5_app_cache.asp
立即学习“前端免费学习笔记(深入)”;
接下来通过实际案例介绍HTML5应用程序缓存的介绍。
立即学习“前端免费学习笔记(深入)”;
一 应用服务器
应用服务器使用tomcat.
在tomcat的web.xml 添加如下配置,因为manifest文件返回时MIME-type必须为 text/cache-manifest
<mime-mapping> <extension>appcache</extension> <mime-type>text/cache-manifest</mime-type> </mime-mapping>
二 页面
manifest文件default.appcache
缓存staticPage.html,不缓存 * 即所有文件。如果页面不存在或无法连接到网路,跳转到errorPage.html
CACHE MANIFEST staticPage.html NETWORK: * FALLBACK:/ errorPage.html
立即学习“前端免费学习笔记(深入)”;
index.html 引入default.appcache 缓存文件
<!DOCTYPE html><html manifest="default.appcache"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> this is the index page!</body></html>
staticPage.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> this is the static page! eee</body></html>
randomPage.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body>This is the random page!</body></html>
errorPage.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> <h1>Error !!!</h1></body></html>
所有以上html及缓存文件(default.appcache)都在同一目录下。
现在让我们看看测试结果如何.
访问 http://localhost:8080/webapp/index.html
结果如下
从控制台上的信息,可知staticPage.html,errorPage.html已被缓存.
停止服务器。
访问 http://localhost:8080/webapp/staticPage.html 正常。缓存起效
访问 http://localhost:8080/webapp/randomPage.html 返回errorPage.html内容。yes,FALLBACK配置起效.
访问 http://localhost:8080/webapp/index.html 正常. no, 这不是我们想要的,因为我们并没有设置这个页面要缓存。 从w3cshcool介绍中可知 每个指定了 manifest 的页面在用户对其访问时都会被缓存。
立即学习“前端免费学习笔记(深入)”;
有如下一个方案针对以上问题。
添加cachePage.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html manifest="default.appcache"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body></body></html>
修改index.html body内添加如下。
<iframe src="cachePage.html"></iframe>
经测试,不可行。
立即学习“前端免费学习笔记(深入)”;
summary:
如果应用有A,B,C,D 页面。
A 页面中引入了一个manifest文件,该manifest文件,缓存B文件,C文件作为错误页面。
当请求A页面是,浏览器会缓存A,B,C页面,及manifest文件。
如果A、B、C页面有跟新,要刷新文件,就对服务器端的manifest文件做任意修改(或者删除服务器端的manifest文件, 如果这样当用户访问任意缓存页面时,浏览器会尝试同步manifest文件,发现文件不存在,然后删除所有客户端缓存)。
立即学习“前端免费学习笔记(深入)”;
每次访问A,B,C(缓存页面),浏览器都会对manifest文件做一次同步。
访问非缓存的文件,则manifest文件不会同步。
也就是说,每次访问缓存文件,浏览器会去同步manifest文件,
如果manifest文件有跟新,则刷新缓存文件列表(更新缓存文件、删除缓存文件、添加缓存文件)。
然后再次访问缓存文件时就可以看到更新的内容了。
立即学习“前端免费学习笔记(深入)”;
以上都在chrome版本41.0.2272.118做测试。
立即学习“前端免费学习笔记(深入)”;
立即学习“前端免费学习笔记(深入)”;
立即学习“前端免费学习笔记(深入)”;
HTML 5应用程序缓存使用总结
近期接触了HTML5本地缓存,在HTML页面的html标签加入后缀为.appcache的文件,即可以轻松地创建 web 应用的离线版本。
使用本地缓存带来的好处:
离线浏览 - 用户可在应用离线时使用它们
速度 - 已缓存资源加载得更快
减少服务器负载 - 浏览器将只从服务器下载更新过或更改过的资源。
浏览器支持:
所有主流浏览器均支持应用程序缓存,除了 IE
HTML5 Cache Manifest 实例
下面的例子展示了带有 cache manifest 的 HTML 文档(供离线浏览):
HTML页面
demo.appcache文件
Cache Manifest 基础
如需启用应用程序缓存,请在文档的 标签中包含 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 页面)
Manifest 使用总结:
HTML页面添加.appcache的文件后,PC端和手机端浏览器都可离线缓存文件
添加了.appcache的页面本身也会被缓存
如果修改时间戳文件,而没有修改.appcache的文件,则不可以更新浏览器缓存文件
HTML页面引入.appcache的文件后,只有修改.appcache的文件,才能更新缓存文件
有了 .appcache文件后,HTML时间戳文件是否失去了它原来的意义呢?
也许当IE的低版本去见马克思后,当所有浏览器都支持HTML5应用程序缓存后,HTML时间戳文件才可能退休,至少在目前,还是离不开平凡更新的时间戳文件。而使用.appcache文件来更新浏览器缓存,目前主要应用在移动终端。
以上就是HTML 5应用程序缓存使用总结的内容。
html5 web应用程序缓存
关于HTML5 应用程序缓存和html5应用程序缓存和浏览器缓存区别的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于HTML 5 应用程序缓存、HTML 5 应用程序缓存_html/css_WEB-ITnose、HTML 5应用程序缓存使用总结、html5 web应用程序缓存的相关知识,请在本站寻找。
本文标签: