HTML5 web 存储,一个比cookie更好的本地存储方式。数据以 键/值 对存在, web网页的数据只允许该网页访问使用。加的安全与快速.可以存储大量的数据,而不影响网站的性能.

客户端存储数据的两个对象为:

  • localStorage - 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除。
  • sessionStorage - 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

在使用 web 存储前,应检查浏览器是否支持 localStorage 和sessionStorage:

if(typeof(Storage)!=="undefined") { // 是的! 支持 localStorage sessionStorage 对象! // 一些代码..... } else { // 抱歉! 不支持 web 存储。 }

Web SQL 数据库

它是一个独立的规范,引入了一组使用 SQL 操作客户端数据库的 APIs。前提是客户端有安装SQL环境

三个核心方法:

  1. openDatabase:这个方法使用现有的数据库或者新建的数据库创建一个数据库对象。
  2. transaction:这个方法让我们能够控制一个事务,以及基于这种情况执行提交或者回滚。
  3. executeSql:这个方法用于执行实际的 SQL 查询。

HTML5 应用程序缓存

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

启用应用程序缓存,请在文档的<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 页面)

更新缓存

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

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

一旦文件被缓存,则浏览器会继续展示已缓存的版本,即使您修改了服务器上的文件。

最新文章

  1. linux设备驱动
  2. [MVC_Json序列化]MVC之Json序列化循环引用
  3. JS基础(超级简单)
  4. Coursera Machine Learning : Regression 简单回归
  5. 如何优化sql语句
  6. gradle 如何操作命令行
  7. ElasticSearch插件安装Head、Kopf与Bigdesk
  8. 微软MVP社区夏日巡讲北京站 7月13日星期六 微软北京望京Office
  9. Guide to Database Migration from Microsoft SQL Server using MySQL Workbench
  10. GRUB引导——menu.lst的写法
  11. flask-sqlalchemy 关系表简单操作
  12. Referer反反盗链
  13. InstallShield自定义安装界面
  14. laravel 安装 Laravel 扩展包
  15. springboot集成mybatis源码分析(一)
  16. AutoField的话就报错:&#39;AutoField&#39; object has no attribute &#39;rel&#39;
  17. mycat偶尔会出现JVM报错double free or corruption并崩溃退出
  18. Java新AIO/NIO2:AsynchronousServerSocketChannel和AsynchronousSocketChannel简单服务器-客户端
  19. javascript callee和caller
  20. python基础—字典

热门文章

  1. 流畅的python学习笔记第八章:深拷贝,浅拷贝,可变参数
  2. Linux就该这么学--了解Shell脚本
  3. 如何修改硬盘挂载的名字LABEL
  4. CSS3 3D下拉折叠菜单
  5. Linux桥接网络配置
  6. Java基础:hashCode与equals个人学习记录
  7. myeclipse 安装flex插件后变为中文 修改配置文件切换到英文界面
  8. win10系统使用clover时程序崩溃的解决
  9. python正则表达提取文本好文
  10. CentOS 7 设置自定义开机启动,添加自定义系统服务