[2023本地存储方案](https://www.cnblogs.com/fangchaoduan/p/17608006.html)
2023本地存储方案
- 本地存储方案 - cookie
- 本地存储:有期限的限制,可以自己设置过期期限。在期限内,不论页面刷新还是关闭,存储的信息都还会存在。
 
- localStorage
- 本地持久化存储:页面刷新或者关闭,存储的信息一直存在,除非手动清除或者卸载浏览器,而且没有有效期的限制。
 
- sessionStorage
- 本地会话存储,传话结束-即浏览器页面关闭,存储的信息会自动清除。
- 但是刷新页面,会话不算结束,基于sessionStorage存储的信息还是会存在的。
- 比如网页小游戏,游戏窗口没关,都先在本地存。窗口关闭,就把数据存到服务器上。新打开窗口,从服务器拿到数据,再存在会话中。
 
 
- IndexedDB/WebSQL
- 本地数据库存储:利用浏览器自带的数据库,基本上都是非关联型数据库。
- 相对于其它的本地存储方案,其可以存储更多的数据。
 
- 虚拟内存存储
- 特点:页面刷新或者关闭,存储的信息都会清除掉。
- 类型
- 全局变量
- vuex
- redux
- ...
 
 
- ...
 - 无论那一种本地存储方案,都受到浏览器和源的限制!
- 源:就是域名。
- 浏览器就是谷歌浏览器与IE浏览器这类的区别。
- 即不同源及不同浏览器下,本地存储的内容相互之间是独立的!
 
- 不论那一种本地存储方案,都是以明文形式进行存储的!
- 尽可能不存储需要安全限定的数据,即便要存储,一定要记得加密处理。
 
- 尽可能不存储
- cookie与localStorage区别:
- 时效性:cookie可以设置过期时间,而localStorage是持久化存储。 - 用于灵活控制时效性。
- 真实项目中,我们需要自己实现一套具备有效期的localStorage存储方案。
 
- 存储大小: - 同源下,cookie最多只允许存储4kb内容。
- 而localStorage允许最多存储5MB。
 
- 稳定性: - cookie是不稳定的。
- 超过大小,有些浏览器是存不进去新的。有些是清除一些旧的cookie的。
- 基于清除历史记录、安全卫士清扫垃圾等操作,都可能会把存储的cookie给干掉。- 但这些操作对localStorage无效!
 
 
- localStorage是比较稳定的。
- 限制规则:某些浏览器具备隐私模式/无痕浏览模式,在这种模式下,cookie存储的信息必定不会被保留,但是localStorage在新版本浏览器中也会受到影响。
- 和服务器端的关系:cookie和服务器之间是有猫腻的,而localStorage和服务器端没有直接的关系。
- 基于cookie存储的信息:
- 服务器返回给客户端信息的时候,如果有响应头中携带了Set-Cookie字段,则客户端浏览器,会自动在本地设置一个cookie,把Set-Cookie字段中的信息进行存储!
- 客户端本地只要存储了cookie,不论服务器是否需要,每一次向服务器发请求的时候,浏览器都会自动在请求头中,基于Cookies字段,把本地存储的cookie信息,都传递给服务器!
- 但是以上的处理,仅限同源访问!
- 因为在浏览器的非同源策略中,默认是禁止Cookie的传输的!
- 但是可以在axaj请求中设置一个请求头,让Cookie可以携带给非同源浏览器。
 
 
- 因为在浏览器的非同源策略中,默认是禁止Cookie的传输的!
 
- 基于localStorage存储的信息,除非手动发送给服务器,否则和服务器没有半毛钱关系!
- 可以手动从本地存储中取出来,在ajax中附带发送给服务器。
- 也可以在处理ajax请求函数中,把服务器发送的数据存储到本地存储中。
 
 
- 基于cookie存储的信息:
- cookie可以兼容到IE5,但是localStorage是H5新增的,只能兼容到IE9及以上浏览器!
 
- cookie是不稳定的。
 
 
- cookie
 
 
[2023本地存储方案](https://www.cnblogs.com/fangchaoduan/p/17608006.html)的更多相关文章
- [转]App离线本地存储方案
		App离线本地存储方案 原文地址:http://ask.dcloud.net.cn/article/166 HTML5+的离线本地存储有如下多种方案:HTML5标准方案:cookie.localsto ... 
- [转]Dcloud App离线本地存储方案
		原文地址:http://ask.dcloud.net.cn/article/166 HTML5+的离线本地存储有如下多种方案:HTML5标准方案:cookie.localstorage.session ... 
- htm5本地存储方案——websql的封装
		一.websql 简介 在HTML5中,大大丰富了客户端本地可以存储的内容,添加了很多功能来将原本必须保存在服务器上的数据转为保存在客户端本地,从而大大提高了Web应用程序的性能,减轻了服务器端的 ... 
- Android本地存储方案 SharedPreferences
		原文地址:http://www.yanwushu.com/post/43.html 存储位置 SharedPreferences数据保存在: /data /data/<package_name& ... 
- htm5本地存储方案——indexdb的封装
		不BB直接上代码 /*封装IndexdDB*/ var localDatabase = { }; localDatabase.dbName = "yiliDB"; localDat ... 
- 本地存储(cookie&sessionStorage&localStorage)
		好文章,最全面.就查它吧:https://segmentfault.com/a/1190000004556040 1.DOM存储:https://developer.mozilla.org/zh-CN ... 
- web前端实现本地存储
		当我们在提及web前端本地存储的时候,首先需要介绍一下本地化存储的概念和历史.本地化存储从来不是一个新奇的概念,因为web应用程序一直在追求的就是媲美甚至超越桌面应用程序.但是桌面应用程序一直优于we ... 
- 小强的HTML5移动开发之路(19)——HTML5 Local Storage(本地存储)
		来自:http://blog.csdn.net/dawanganban/article/details/18218701 一.浏览器存储的发展历程 本地存储解决方案很多,比如Flash SharedO ... 
- JavaScript本地存储实践(html5的localStorage和ie的userData)
		http://www.css88.com/archives/3717 JavaScript本地存储实践(html5的localStorage和ie的userData) 发表于 2011年06月11日 ... 
- (转)Javascript本地存储小结
		转自:https://i.cnblogs.com/EditPosts.aspx?opt=1 以下是原文: 1. 各种存储方案的简单对比 Cookies:浏览器均支持,容量为4KB UserData:仅 ... 
随机推荐
- [转帖]vCenter使用 VMCA 续订证书:续订证书时发生意外错误
			https://www.dinghui.org/vcenter-sts-certificate.html 起因:有一处客户vCenter告警:STS签名证书即将过期. 处理办法:系统管理-证书-证书管 ... 
- vue中render函数使用attrs绑定id、class、style、事件(5)
			1.h函数的三个参数 第一个参数是必须的. 类型:{String | Object | Function} 一个 HTML 标签名.一个组件.一个异步组件.或一个函数式组件. 是要渲染的html标签. ... 
- 基于密码学的身份混淆系统 -- idmix
			简介 Hyperledger Fabric的Idemix是一个基于密码学的身份混淆系统,它提供了一种在区块链网络中实现用户隐私的方法.Idemix的主要特性是它的零知识证明系统,这是一种允许用户证明他 ... 
- 数据挖掘机器学习[二]---汽车交易价格预测详细版本{EDA-数据探索性分析}
			题目出自阿里天池赛题链接:零基础入门数据挖掘 - 二手车交易价格预测-天池大赛-阿里云天池 相关文章: 特征工程详解及实战项目[参考] 数据挖掘---汽车车交易价格预测[一](测评指标:EDA) 数据 ... 
- Python 多线程实现爬取图片
			前阵子网上看到有人写爬取妹子图的派森代码,于是乎我也想写一个教程,很多教程都是调用的第三方模块,今天就使用原生库来爬,并且扩展实现了图片鉴定,图片去重等操作,经过了爬站验证,稳如老狗,我已经爬了几万张 ... 
- C/C++ 常用开发代码片段
			由于内容较少,所以,不想把它放在我的本地博客中了,暂时保存在这里,代码有一部分来源于网络,比较经典的案例,同样收藏起来. Stack 栈容器 Stack容器适配器中的数据是以LIFO的方式组织的,它是 ... 
- SpringCloud-07-Hystrix
			Hystrix 熔断器 1.Hystrix 概述 Hystix 是 Netflix 开源的一个延迟和容错库,用于隔离访问远程服务.第三方库,防止出现级联失败(雪崩). 雪崩:一个服务失败,导致整条链路 ... 
- element-ui表格筛选,根据表头属性显示隐藏列
			效果: 步骤: 1.标签上添加要过滤的源数组 <el-table-column label="标签" :filters="filterList" filt ... 
- mermaid图详解(一)流程图|超详细的代码解释
			本文参考Github项目 https://github.com/mermaid-js/mermaid/ 前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客 ... 
- PHP截取文章内容
			<?php /** * 实现中文字串截取无乱码的方法. */ function getSubstr($string, $start, $length) { if (mb_strlen($stri ... 
 
			
		
