Cookie
保护浏览器和服务器端会话状况的一种体式格局,平常用于保留用户身份信息。
服务器端天生Cookie推送到浏览器端,浏览器担任保留和保护数据。
特征
域名下的所用要求都邑带上Cookie
每条Cookie限定在4KB摆布
Cookie在逾期时候之前一向有用,若未设置逾期时候,封闭浏览器窗口即失效
服务端经由过程相应头中的set-cookie向浏览器写入cookie,浏览器端能够经由过程document.cookie
读写cookie(若一条Cookie在相应头中设置了HttpOnly标识,浏览器将没法猎取和操纵该条Cookie)
WebStorage
WebStorage —— 浏览器当地存储计划,包含SessionStorage和LocalStorage
二者的差别在存储周期上,运用方法上无差别
SessionStorage
限定在页面内的单次当地存储
特征
仅在当前页面有用
封闭页面或许浏览器窗口后失效
LocalStorage
限定在同源内的耐久当地存储
特征
遵照同源战略
除非手动消灭,不然一向保留在当地
配合特征
存储大小
平常存储空间为5MB摆布,桌面端Chrome40+,FireFox34+,IE9+默许调解至10MB(当地测试效果与此相抵牾),部份浏览器可由用户手动调解上限。
StackOverflow – 关于盘算LocalStorage上限
毛病处理
同步读写,经由过程try…catch捕捉毛病信息。以下捕捉超限毛病
try {
localStorage.setItem(data.name, JSON.stringify(data));
} catch(domException) {
if (domException.name === 'QuotaExceededError' ||
domException.name === 'NS_ERROR_DOM_QUOTA_REACHED') {
// Fallback code comes here.
}
}
存储花样
数据以字符串花样存储,对象写入时需运用JSON.stringify转换为字符串,再运用JSON.parse转换为对象。
IndexedDB
大批数据的结构化存储
特征
遵照同源战略
除非手动消灭,不然一向保留在当地
存储空间大,平常为250MB
主键对应值存储,比如以ID为主键存储对应数据
支撑各种存储花样,以至是二进制数据(Blob)
异步存储,制止在页面reload时做批量存储
Web SQL
非官方范例,现在已弃用
Application Cache
运用缓存(又称 AppCache)可以让开发人员指定浏览器应缓存哪些文件以供离线用户接见。即运用户在离线状况下按了革新按钮,您的运用也会一般加载和运转。
应用运用缓存,保证离线情况下一般运用,削减收集要求,加速接见速率
大部份浏览器对缓存数据容量的限定时5MB
库
localForage – 封装IndexedDB, WebSQL, localStorage,供应一致API