h5缓存

本文详细介绍了H5提供的多种存储技术,包括cookie的工作原理及局限性、localStorage与sessionStorage的应用场景、离线缓存的使用方式及优缺点,以及IndexedDB作为持久化数据库的特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

h5提供存储的api

浏览器端的存储

服务器端的存储有 cache,磁盘文件(图片),数据库,内存(存储缓存)

1. cookie及其缺点

cookie是http请求的头部必须带着,请求头带有存储信息,子域名的访问会造成主域名的污染,页面浏览速度慢,导致安全隐患

客户端存储的大小(4k)限制,可以将身份验证和购物车存储放在cookie中

2.本地存储localstorage&&sessionstorage

介绍localstorage存储,开发者工具resource中看出,(数组,json,脚本,样式文件)只能转为字符串才可以localstorage存储

图片如何存储呢


获取图片的地址,加载完图片之后创建和图片大小一样大小的canvas

使用drawimage()将图片渲染到canvas中

使用todataurl()取出该地址(字符串形式)放入localstorage中


之后再本地存储中使用localstorage.getItem(key)取出该图片地址,

使用dom方法渲染到页面,图片也可以跨域

使用localstorage需要注意:移动端浏览器等是否支持

 写数据时先setItem之后做已成处理 来判断

避免敏感信息localstorge

 key的唯一性,会覆盖的

子域名不可以共享存储数据,cookie可以实现跨域

超出存储大小使用LRU,FIFO

server端如何获取

3.离线缓存offline application cache


在web离线的情况下继续使用,再通过manifest文件指明要缓存的资源

缺点:1》manifest只能在第二次刷新时才能更新到app cache中被用户获取到

            2》manifest更新到app cache中会拉去所有缓存文件,会有损耗

创建manifest文件


引入manifest文件


检测是否在线  navigator.online

4.关系型数据indexDB(持久化存储数据化结构数据的数据库,为web提供丰富的查询能力)


关键字:事务,索引,游标


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值