HTML5 存储 & 离线web应用

cookie存储:每次HTTP请求都会发送cookie信息,会使Web变慢

每次HTTP请求的cookie信息不加密传输,不安全

cookie信息量最大不能超过4kb


检测浏览器是否支持该特性

function supports_html5_storage(){
	return ('localStorage' in window) && window['localStorage'] !=null;
}


HTML5存储是基于键值对的 方法:setItem(), removeItem(), clear()


操作数据库

openDatebase('documents', '1.0', 'Local document storage', 5*1024*1024, function(db){

db.changeVersion(' ', '1.0', function(t){

t.executeSql('SQL语句');

}, error);

});


---------------------------------------------------------------------------------------------------------------------------------------------------


离线web应用核心:缓存清单文件  要下载并缓存这些资源,只需将<html>元素上的manifest属性指向清单文件

缓存清单文件可以放在web服务器的任意位置,但必须要求服务器支持text/cache-manifest内容类型。对于基于Apache的web服务器,需要在web应用根目录下的.htaccess文件中增加  AddType text/cache-manifest .manifest  缓存清单文件的文件后缀为manifest。

每个页面都需要设置manifest属性。


NETWORK(线上白名单段):属于该段的声明,永远不会被缓存;

CACHE(显示段)

FALLBACK(默认段):为那些由于某些原因无法被缓存或者缓存失败的资源制定替代资源。



事件流: 当浏览器访问一个指向缓存清单文件的页面时,window.applicationCache对象上的一系列事件会被浏览器触发。

checking事件→浏览器从未访问过的缓存清单:downloading事件 process事件 cached事件  

    之前浏览器访问过该页面或访问过指向同一个缓存清单文件的其他页面:→缓存清单未发生变动Lnoupdate事件

发生变动 downloading事件

→updateready事件


调试:在过期时间内更改manifest,重新刷新页面,显示页面没有过期。在web应用根目录下的.htaccess文件中增加 

ExpiresActive On 

ExpiresDefault "access"   但是这样配置就意味着.htaccess文件所在的目录以及子目录都不会以HTTP头信息的方式来实现缓存,因此需要制定<Files>标识,使其只作用于缓存清单文件或者创建一个单独的目录,枝江.htaccess文件和缓存清单文件放置在该子目录下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值