首页 > 其他分享 >前端存储方案一览

前端存储方案一览

时间:2023-08-26 21:32:55浏览次数:52  
标签:Web 存储 一览 储存 数据库 Cookie SQL LocalStorage 前端

Cookies

在HTML5标准前本地储存的主要的也是最早提出的⽅式,优点是兼容性好,请求头⾃带cookie⽅便(使用fetch的话需要额外配置),缺点是⼤⼩只有4k,⾃动请求头加⼊cookie浪费流量,而且每个domain限制20个cookie,使⽤起来麻烦,需要自行封装相关方法。

  • Cookie一旦创建成功,名称就无法修改
  • Cookie是无法跨域名的,但是子域名之间共享
  • 有安全问题,如果Cookie被拦截了,那就可获得session的所有信息,预防方式包括设置httpOnly
  • Cookie在请求一个新的页面的时候都会被发送过去

跨域名共享方案:

  • Nginx反向代理
  • 单个站点登入后,通过setCookie的方式,在其他网站上写上Cookie,同时服务端的Session使用同一个节点

LocalStorage

HTML5加⼊的以键值对(Key-Value)为标准的⽅式,优点是操作⽅便,永久性储存(除⾮⼿动删除),⼤⼩为5M,兼容IE8+ 。

如果浏览器设置为隐私模式,那我们将无法读取到LocalStorage,同时受到同源策略的限制,非同源页面无法访问。

SessionStorage

与LocalStorage基本类似,区别是SessionStorage当⻚⾯关闭后会被清理,⽽且与cookie、LocalStorage不同,其主要用于临时保存同一窗口(或标签页)的数据,刷新页面时不会删除,关闭窗口或标签页之后将会删除这些数据。

Web SQL

2010年被W3C废弃的本地数据库数据存储⽅案,但是主流浏览器(⽕狐除外)都已经有了相关的实现,Web SQL类似于SQLite,是真正意义上的关系型数据库。Web SQL 数据库 API 并不是 HTML5 规范的一部分,但是它是一个独立的规范,引入了一组使用 SQL 操作客户端数据库的 APIs。

Beware. This specification is no longer in active maintenance and the Web Applications Working Group does not intend to maintain it further.

本文档是 2010 年 11 月 18 日 Web SQL 数据库工作组的说明。作为工作组说明发布并不意味着得到 W3C 成员的认可。这是一份草稿文件,可能随时被其他文件更新、替换或废止。除了正在进行的工作之外,引用本文件是不恰当的。W3C Web 应用程序工作组是负责本文档的 W3C 工作组。

IndexedDB

IndexedDB 是一种底层 API,用于在客户端存储大量的结构化数据(也包括文件/二进制大型对象(blobs))。其是被正式纳⼊HTML5标准的数据库储存⽅案,它是NoSQL数据库,⽤键值对进⾏储存。

  • 键值对储存
  • 异步
  • 支持事务
  • 同源限制
  • 储存空间大
  • 支持二进制储存

::: hljs-center

:::

标签:Web,存储,一览,储存,数据库,Cookie,SQL,LocalStorage,前端
From: https://blog.51cto.com/u_16237732/7246170

相关文章

  • 浮点数在内存中的存储形式
       大家都知道浮点数是什么,那他在内存中是怎么存储的呢?根据国际标准IEEE754规定中,任意一个二进制浮点数v可以表示成下面的形式:(-1)S*M*2E(-1)^S表示符号位,当S=0,V为正数;当S=1,V为负数。M表示有效数字,大于等于1,小于2.2^E表示指数位。   那怎么来理解这段话呢,我们举个例......
  • Oracle 物理存储结构
    介绍RDBMS(关系型数据库)通常具有物理存储结构和逻辑存储结构。采用物理和逻辑结构分离的方式,可以做到管理物理结构而不影响逻辑结构的访问。Oracle将物理结构又分为数据库和实例。数据库是Oracle数据存储在磁盘存储中的一组文件。这些文件又根据不同的作用划分成了三类,分别是:数据......
  • 在线拍卖直播系统源码(双端APP+H5前端+管理后台)
    "东莞梦幻网络科技"开发该拍卖直播系统采用了多种开发语言。具体而言,后端采用了PHP语言,并且使用了ThinkPHP框架。而在移动端方面,苹果端采用了Objective-C语言,而安卓端则采用了Java。前端H5部分则使用了Vue.js框架。以下是该拍卖直播系统的主要功能模块:1、直播拍卖:用户可以观看主播......
  • MySQL 一行记录是怎么存储的?
    一、数据存在哪个文件可以看到,共有三个文件,这三个文件分别代表着:db.opt,用来存储当前数据库的默认字符集和字符校验规则。t_order.frm,t_order的表结构会保存在这个文件。在MySQL中建立一张表都会生成一个.frm文件,该文件是用来保存每个表的元数据信息的,主要包含表结构定义......
  • 前端React学习路径
    在当今的软件开发领域,React已经成为一种广泛使用的JavaScript库,用于构建用户界面。它由Facebook开发并维护,具有高效、灵活和可扩展等特点,适用于各种类型的应用程序开发。本文将介绍前端React的学习路径,包括基本概念、核心功能、组件进阶、路由和状态管理、构建实践等方面,并结合代码......
  • 一、MySQL体系结构和存储引擎
    一、MySQL体系结构和存储引擎1.1定义数据库和实例数据库:物理操作系统文件或其他形式文件类型的集合。在MySQL数据库中,数据库文件可以是frm、MYD、MYI、ibd结尾的文件。实例:MySQL数据库由后台线程以及一个共享内存区组成。共享内存可以被运行得后台线程所共享。需要牢记的是,......
  • 二、InnoDB存储引擎
    2.3InnoDB体系架构1)后台线程MasterThread:核心线程,主要负责将缓冲池的数据异步刷新到磁盘,保证数据的一致性,包括脏页的刷新、合并插入缓冲、UNDO页的回收等。IOThread:处理IO请求PurgeThread:事务被提交后,其所使用的undolog可能不再需要,因此需要PurgeThread来回收已经使......
  • openGauss学习笔记-51 openGauss 高级特性-列存储
    openGauss学习笔记-51openGauss高级特性-列存储openGauss支持行列混合存储。行存储是指将表按行存储到硬盘分区上,列存储是指将表按列存储到硬盘分区上。行、列存储模型各有优劣,建议根据实际情况选择。通常openGauss用于OLTP(联机事务处理)场景的数据库,默认使用行存储,仅对执行复杂......
  • 使用哪种注解处理后台Map参数类型,探究前端发送请求URL限制
    如何处理接口参数是Map类型探究URL限制法1:前端发送Get请求需求:为了得到分页结果,我将分页时需要的参数封装到Map中进行传递@GetMapping("/page")publicRqueryPage(@RequestParamMap<String,Object>params){}//1.测试GEThttp://localhost:8080/product/categorybrandrel......
  • 通过Maven将文件上传到阿里云对象存储OSS
    首先在阿里云开通对象存储OSS功能(免费的),然后在Bucket列表中创建一个Bucket,地域建议选择华东1(杭州),因为这样后面就不用修改Endpoint,或者你直接记住Endpoint也行,读写仅限为公共读,其他的选项就默认的就行了。然后在右上角的头像初点击AccessKey管理,选择继续使用AccessKey,点击创建Ac......