浏览器中都有哪些存储(Cookie、LocalStorage......)?

随着前端技术的不断发展,现在已经有了非常多的技术来将数据存储在浏览器中,但你都清楚他们之间的区别吗?

现在都有哪些存储技术?

我们打开浏览器,按下F12,点选Application,可以看到这么多的存储技术:


1

下面我们一一介绍这些存储以及他们之间的区别。

Cookies

先拿这个最早出现的技术下手,因为http协议是无状态的,也就是说浏览器无法完成记忆功能,试想一下,当你登录了一次后浏览器不会记住你已经登录了,当你继续操作的时候,浏览器又提示你登录,如此无限循环...,所以一位程序员发明了Cookies来记录访问者的状态,让访问者可以和系统很自然的交互,它可以是永久记录的,也可以是有限期记录的,取决于功能的需要。
但是Cookies能存储的数据大小非常小(4K),只用来存关键的数据。

LocalStorage

这个技术是Html5中的新特性,用于本地存储数据,LocalStorage方法存储的数据没有时间限制,第二天、第二周或下一年之后,数据依然可用,直到手动去除。
LocalStorage能存储2-10M(各大浏览器实现不同)的数据,比Cookies的4K大的多。

SessionStorage

SessionStorage针对一个 session(会话,简单理解就是和系统的持续交互) 进行数据存储。用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。
SessionStorage和LocalStorage一样,存储大小限制在2-10M(各大浏览器实现不同)。

但是其实Cookies并不会被LocalStorage、SessionStorage取代,Cookies的作用是让无状态的Http变得有状态,所以Cookies会被自动放入每次http请求的请求头中,作为每个会话的标识,而LocalStorage和SessionStorage则不会自动加入http请求,并且Cookies有对应机制保障,在防止第三方植入js代码恶意读取篡改方面做的比较好,所以我认为这两个新标准的职能更多的是辅助Cookies。

WebSQL

这是一个在浏览器中的关系型数据库,但这却是一个被废弃的标准,原因是有两方面,一是各大浏览器厂商实现不一,对标准的执行并不好,二是使用SQL语句用一定学习成本,前端开发人员似乎不那么乐意为了使用这个而费力去学习一份新的语言。

IndexedDB

这是Html5中的新标准,是一个浏览器中的非关系型数据库,也就是说它的出现可能是因为WebSQL中需要学习sql语句这一硬伤,IndexedDB存储空间相当大(一般来说不少于 250MB,甚至没有上限),并且支持事务等高级功能。

CacheStorage

它用来存储 Response 对象,也就是说他是用在接受Http请求的响应结果的。

ApplicationCache

这是Html5的离线缓存,也就它能够让你的页面,在设备断网的时候,依旧可以读取到一些已经缓存在离线缓存里的数据,让你的Html5应用可以有类似安装后的App的体验,比如说PWA。

只是简单写了一下,以后还会继续补充

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,039评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,426评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,417评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,868评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,892评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,692评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,416评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,326评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,782评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,957评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,102评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,790评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,442评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,996评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,113评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,332评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,044评论 2 355

推荐阅读更多精彩内容