Please enable JavaScript.
Coggle requires JavaScript to display documents.
离线储存 - Coggle Diagram
离线储存
Cookie
-
-
-
-
-
-
与服务器通信 server connection: 每次都携带在HTTP Header 里面,如果使用Cookie保存过多, 会带来性能问题
-
-
-
SameSite, 为防止CSRF (Cross Site Request Forgery 跨站请求伪造) 攻击和用户追踪而新增的安全
Secure, 安全标志。设置参数后,该cookie只在https请求中才会被携带
-
-
Expires/Max-Age, cookie的失效时间,ms
Set-Cookie: id=a3fWa; Expires=Thu, 31 Oct 2021 07:28:00 GMT;
Path, cookie的存储路径,默认是当前项目的根路径
-
-
-
-
-
-
Persistent cookie: 明确Expires/Max-Age, 通常来说 cookie 不会在关闭浏览器时失效,但是会在一个明确的日期(Expires) 或者时长(Max-Age) 失效。
Application Cache 应用程序缓存
-
-
要想在这个缓存中保存数据,可以使用一个描述文件 manifest file, 列出要下载和缓存的资源
-
-
-
-
-
-
-
-
-
web 储存
localStorage
-
-
-
-
-
方法:
setItem("key", "value");
getItem("key");
removeItem("key");
clear()
key(index), 获取已知位置的key
length: 已经储存物品的数量
-
-
-
同源的所有tag和窗口都共享
window.onstorage = event => {
if (event.key != 'now') return;
alert(event.key + ':' + event.newValue + " at " + event.url);
};
localStorage.setItem('now', Date.now());
如果两个window都在监听window.onstorage, 其中一个更新的时候,另一个也会更新
-
-
sessionStorage
-
-
-
-
-
-
-
-
方法:
setItem("key", "value");
getItem("key");
removeItem("key");
clear()
key(index), 获取已知位置的key
length: 已经储存物品的数量
-
-
-
-
存储事件
setItems, removeItem, clear 的时候被触发
包含所有(key/oldValue/newValue)的数据,和文档url, 存储对象 storageArea.
-
event.storageArea 包含storage object, 此event对于sessionStorage, localStorage相同,所以event.storageArea引用被修改的event。