`
xiaofengyu
  • 浏览: 49041 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

HTML 5 学习之应用程序缓存

阅读更多
什么是应用程序缓存(Application Cache)?
HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问。
应用程序缓存为应用带来三个优势:
离线浏览 - 用户可在应用离线时使用它们
速度 - 已缓存资源加载得更快
减少服务器负载 - 浏览器将只从服务器下载更新过或更改过的资源。

浏览器支持
所有主流浏览器均支持应用程序缓存,除了 Internet Explorer。

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 页面)

上述资料copy自http://www.w3school.com.cn/html5/html_5_app_cache.asp
下面贴一下我自己操作的流程:
1、web容器配置。Application Cache的核心是manifest 文件,要加载manifest 文件,就要先让web容易认识这个东东,所以要先配置MIME-type 映射。我用的是tomcat容器,找到conf/web.xml文件,在那一大堆<mime-mapping>后面加上manifest配置
<!--html5 mime-type setting -->
	<mime-mapping>
        <extension>manifest</extension>
        <mime-type>text/cache-manifest</mime-type>
    </mime-mapping>
<!--html5 mime-type setting -->
,保存重启,完成第一步。

2、编写manifest文件。我的manifest文件为cache/demo.appcache,内容入下:
CACHE MANIFEST
# 2012-11-01 v1.0.0 
../image/baidu_sylogo1.gif

NETWORK:
../image/cat.gif

FALLBACK:
404.html


3、html使用manifest文件。
<!DOCTYPE>
<html  manifest="../cache/demo.appcache">
  <head>
    <title>test4.html</title>
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div>
    	<img alt="aaa" src="../image/baidu_sylogo1.gif" >
    	<img id="msg" alt="bbb" src="" >
    	<script type="text/javascript">
    		var msg=document.getElementById("msg");
    		msg.src='../image/cat.gif';
    	</script>
    </div>
  </body>
</html>

baidu_sylogo1.gif为缓存,而cat.gif是直接从服务器读取。

4、测试。笔者用chrome测试了一下正常显示,firefox也OK。不过PC上看不出啥来(比较明显的是manifest 文件中的路径配置错误,debug模式会报错,正常的情况下浏览器会提示是否使用xxx网站提供的静态数据),我用我自己的手机测试了一下,效果比较明显(WI-FI坏境下)。刷新页面的速度很快,关闭WI-FI时,重新刷页面,可以看到第一个图片,而第二个图片显示不出来。
分享到:
评论

相关推荐

    asp.net缓存(页面输出缓存和应用程序缓存)

    ASP.NET缓存技术是提升Web应用性能的关键策略之一,它主要分为页面输出缓存和应用程序缓存两大类。这两种缓存机制旨在减少服务器处理请求的时间,降低数据库负载,并且提高用户体验,通过存储已经生成的HTML页面或...

    WEB开发 之 HTML 5 应用程序缓存.docx

    HTML5的应用程序缓存,也称为App Cache,是一种强大的特性,允许Web应用程序在离线状态下仍能正常运行。这个特性通过创建一个名为manifest的文件,将特定的网页资源预先下载并存储在本地,以便在没有网络连接时使用...

    HTML5 Application Cache 应用程序缓存

    !!!!!服务器需要添加配置!!!!!!!!! 建议使用Google Chrome 测试 我的是Apache服务器 conf/httpd.conf 文件的mime_module 中添加 . . . AddType text/cache-manifest .appcache &lt;/IfModule&gt;

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

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

    HTML5 应用程序缓存

    HTML5 应用程序缓存,也称为 Application Cache,是HTML5的一项重要特性,它使得Web应用程序能够在离线状态下仍然可以使用。通过创建一个名为 `cache manifest` 的文件,开发者可以指定哪些资源需要被浏览器缓存,...

    HTML5实现应用程序缓存(Application Cache)

    HTML5的应用程序缓存(Application Cache)是一种离线存储技术,旨在提高网页应用程序的性能和可用性,尤其在网络环境不稳定或无网络连接的情况下。在HTML5之前,网页需要持续在线才能正常工作,但Application Cache...

    ASP.NET内置对象,应用程序配置和缓存

    同时,应用程序配置和缓存是两个核心概念,它们对优化性能和管理应用设置起着关键作用。 **ASP.NET内置对象** 1. **HttpContext**: 这是ASP.NET中最重要的对象之一,它包含了关于当前HTTP请求的所有信息,如请求...

    Html5应用程序缓存(Cache manifest)

    HTML5应用程序缓存(Cache Manifest)是一种利用浏览器缓存机制来存储网站资源的规范,允许Web应用在离线状态下仍然可以访问网站的资源。通过该机制,能够优化网站的加载速度,并减少对服务器资源的消耗。下面是...

    AppCache,Android应用程序磁盘缓存.zip

    总结起来,"AppCache,Android应用程序磁盘缓存.zip"是一个关于如何在Android平台上利用HTML5的AppCache特性和Android本地磁盘缓存技术的开源项目。它可以帮助开发者构建能够离线运行的应用,提升应用的响应速度和...

    突袭HTML5之Javascript API扩展5—其他扩展(应用缓存/服务端消息/桌面通知)

    HTML5的Javascript API扩展在提升Web应用程序的性能和用户体验方面发挥了重要作用。在这篇文章中,我们将聚焦于三个关键的API扩展:应用缓存、服务端消息和桌面通知。 首先,让我们详细探讨**应用缓存**。应用缓存...

    html5离线缓存简单demo

    HTML5离线缓存,也称为App Cache,是HTML5引入的一种增强网页应用程序离线运行能力的技术。它允许开发者将一部分网页资源(如HTML、CSS、JavaScript、图片等)存储在本地,使得用户在离线状态下依然能访问这些页面,...

    html5应用缓存_动力节点Java学院整理

    HTML5中的应用缓存(Application Cache)是一种离线存储技术,允许Web应用程序在用户没有网络连接的情况下仍能正常运行。这种技术通过创建一个名为`cache manifest`的文件,指定需要缓存的资源,从而实现离线浏览。...

    Android应用程序开发中HTML5技术的应用探讨.pdf

    【Android应用程序开发中HTML5技术的应用】 随着移动通信技术,特别是4G的崛起,Android智能手机技术迅速发展,催生了大量的应用程序,如手机银行、支付宝、美团、QQ、微信和微博等,极大地便利了人们的日常生活。...

    一个wcf缓存通道来优化azure托管应用的例子程序

    本示例程序主要探讨了如何构建一个WCF缓存通道,以优化在Azure上运行的应用程序。 【描述】: 在WCF服务中,缓存通道是一种自定义行为,它能够在服务调用之间存储和重用数据,从而避免不必要的计算和网络通信。...

    html5前端浏览器离线缓存

    HTML5前端浏览器离线缓存,也称为离线存储或应用程序缓存,是HTML5引入的一项重要特性,旨在提升Web应用的性能和用户体验。当用户在网络连接可用时访问一个支持离线缓存的网站,浏览器会自动下载并存储指定的资源,...

    ASP网络应用程序设计

    12. **性能优化**:包括缓存管理、代码优化、减少数据库查询等策略,以提高ASP应用程序的性能。 13. **部署与维护**:学习如何将ASP应用程序部署到服务器,配置IIS,以及进行日志记录和性能监控。 结合PPT课件"ASP...

Global site tag (gtag.js) - Google Analytics