想要了解更多前端知识,就来智一面吧

点击进入

本地存储主要有以下几种,localStorage,sessionStorage和cookie,WebSql和IndexDB主要用在前端有大容量存储需求的页面上,例如,在线编辑浏览器或者网页邮箱。他们都可以将数据存储在浏览器,应该根据不同的场景进行使用。

1、 Cookie

Cookie主要是由服务器生成,且前端也可以设置,保存在客户端本地的一个文件,通过response响应头的set-Cookie字段进行设置,且Cookie的内容自动在请求的时候被传递给服务器。如下:

[HTTP/1.1 200 OK]
Server:[bfe/1.0.8.18]
Etag:["58860415-98b"]
Cache-Control:[private, no-cache, no-store, proxy-revalidate, no-transform]
Connection:[Keep-Alive]
Set-Cookie:[BDORZ=27315; max-age=86400; domain=.baidu.com; path=/]
Pragma:[no-cache]
Last-Modified:[Mon, 23 Jan 2017 13:24:37 GMT]
Content-Length:[2443]
Date:[Mon, 09 Apr 2018 09:59:06 GMT]
Content-Type:[text/html]

Cookie包含的信息:
它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息。当你再次来到该网站时,网站通过读取Cookies,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。一个网站只能读取它自己放置的信息,不能读取其他网站的Cookie文件。因此,Cookie文件还保存了host属性,即网站的域名或ip。
这些属性以名值对的方式进行保存,为了安全,它的内容大多进行了加密处理。Cookie文件的命名格式是:用户名@网站地址[数字].txt

Cookie的优点:

  • 给用户更人性化的使用体验,如记住“密码功能”、老用户登录欢迎语
  • 弥补了HTTP无连接特性
  • 站点统计访问人数的一个依据

Cookie的缺点:

  • 它无法解决多人共用一台电脑的问题,带来了不安全因素
  • Cookie文件容易被误删除
  • 一人使用多台电脑
  • Cookies欺骗。修改host文件,可以非法访问目标站点的Cookie
  • 容量有限制,不能超过4kb
  • 在请求头上带着数据安全性差

2、 localStorage

localStorage主要是前端开发人员,在前端设置,一旦数据保存在本地后,就可以避免再向服务器请求数据,因此减少不必要的数据请求,减少数据在浏览器和服务器间不必要地来回传递。

可以长期存储数据,没有时间限制,一天,一年,两年甚至更长,数据都可以使用。
localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同

优点:

  • localStorage拓展了cookie的4k限制
  • localStorage可以将第一次请求的5M大小数据直接存储到本地,相比于cookie可以节约带宽
  • localStorage的使用也是遵循同源策略的,所以不同的网站直接是不能共用相同的localStorage

缺点:

  • 需要手动删除,否则长期存在
  • 浏览器大小不一,版本的支持也不一样
  • localStorage只支持string类型的存储,JSON对象需要转换
  • localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡

3、 sessionStorage

sessionStorage主要是前端开发人员,在前端设置,sessionStorage(会话存储),只有在浏览器被关闭之前使用,创建另一个页面时同意可以使用,关闭浏览器之后数据就会消失

存储上限限制:不同的浏览器存储的上限也不一样,但大多数浏览器把上限限制在5MB以下

4、websql

Web SQL 是在浏览器上模拟数据库,可以使用JS来操作SQL完成对数据的读写。它使用 SQL 来操纵客户端数据库的 API,这些 API 是异步的,规范中使用的方言是SQLlite。数据库还是在服务端,不建议使用,已废弃

5、indexDB

随着浏览器的功能不断增强,越来越多的网站开始考虑,将大量数据储存在客户端,这样可以减少从服务器获取数据,直接从本地获取数据。

现有的浏览器数据储存方案,都不适合储存大量数据:Cookie 的大小不超过4KB,且每次请求都会发送回服务器;LocalStorage 在 2.5MB 到 10MB 之间(各家浏览器不同),而且不提供搜索功能,不能建立自定义的索引。所以,需要一种新的解决方案,这就是 IndexedDB 诞生的背景。

通俗地说,IndexedDB 就是浏览器提供的本地数据库,它可以被网页脚本创建和操作。IndexedDB 允许储存大量数据,提供查找接口,还能建立索引。这些都是 LocalStorage 所不具备的。就数据库类型而言,IndexedDB 不属于关系型数据库(不支持 SQL 查询语句),更接近 NoSQL 数据库。

这里,我只是根据自己的理解整理了一下关于缓存,存储方面的知识,还有很多不足的地方,大家可以评论补充。

全网最全的浏览器本地存储,赶紧收藏相关推荐

  1. Vue2(九):浏览器本地存储、组件自定义事件、TodoList自定义事件

    Vue2学习笔记:第九章 一.浏览器本地存储(WebStorage) 1.相关API 2.一些注意点 3.TodoList中的本地存储 二.组件自定义事件 1.引出组件自定义事件 2.怎么给组件绑定? ...

  2. Vue | 使用Vue脚手架 【脚手架的基本使用+ref属性+props属性+mixin混入+插件scoped样式+TodoList+浏览器本地存储+组件的自定义事件+全局事件总线+过度与动画】

    文章目录 脚手架的基本使用 初始化脚手架 分析脚手架结构 render函数 修改默认配置 ref属性 props属性 mixin混入 插件 scoped样式 Todo-list案例 组件化编码流程(通 ...

  3. Vue 浏览器本地存储

    文章目录 localstorage SessionStorage 总结 TodoList 改为本地存储 localstorage <!DOCTYPE html> <html lang ...

  4. 浏览器本地存储Cookie、LocalStorage、SessionStorage

    文章目录 浏览器本地存储 浏览器本地存储 浏览器本地存储方式 (1)Cookie Cookie 是最早被提出来的本地存储方式,在此之前,服务端是无法判断网络中的两个请求是否是同一用户发起的,为解决这个 ...

  5. IndexedDB浏览器本地存储、缓存、数据库、介绍

    目录 1.前言 2.IndexedDB简介 3.IndexedDB使用场景 4.IndexedDB特点 4.1.非关系型数据库 NoSql 4.2.持久化存储 4.3.异步操作 4.4.支持事务 4. ...

  6. 快来看啊 --- --- --- >>>> 浏览器本地存储 ~~~

    1. 浏览器本地存储方式及使用场景 (1)Cookie Cookie是最早被提出来的本地存储方式,在此之前,服务端是无法判断网络中的两个请求是否是同一用户发起的,为解决这个问题,Cookie就出现了. ...

  7. 【前端浏览器】浏览器缓存(http缓存) 浏览器本地存储(总结)

    浏览器缓存 && 浏览器本地存储(总结) 文章目录 浏览器缓存 && 浏览器本地存储(总结) 写在前面 一.浏览器缓存(http缓存) 相关术语 1. 对浏览器的缓存机 ...

  8. 硬核!全网最全Nginx配置指令,建议收藏~

    硬核!全网最全Nginx配置指令,建议收藏~ 1.前言 1.1.Nginx配置文件各个主配置块说明 1.2.Nginx配置符号参考 1.3.本文出现的一些词汇介绍 2.正文 2.1.位于全局块的配置指 ...

  9. 大学物理光学思维导图_头晕/眩晕问诊最全思维导图,赶紧收藏!

    如何把头晕/眩晕的问诊弄清楚,本文做了一个系统的总结. 5月29日,"医学界神经病学频道"发布了一篇「头晕/眩晕诊断」最全思维导图,赶紧收藏!受到不少朋友的喜爱.收藏! 为了让大家 ...

最新文章

  1. 前端跨域问题的几种解决方案
  2. 分享一些user-agent(移动端和PC端都有)
  3. Android设计模式之——抽象工厂模式
  4. 持续集成(CI)- 各种工具的资料总结
  5. 使用Java 8 Lambda表达式对Employee类进行操作
  6. JAVA ThreadPoolExecutor线程池
  7. 开源中文关系抽取框架,来自浙大知识引擎实验室
  8. Java——字符串分割[split()]和截取[substring()]
  9. 仿今日头条项目——登录注册
  10. C#中DataTime.Now函数详解
  11. 在html中加入高德地图,javascript高德地图放到网页中的方法
  12. CTF逆向-[安洵杯 2019]game-使用deflat对主要混淆脱混淆后常规逻辑判断
  13. Android 安装第三方远程协助APP无法控制屏幕
  14. 高清壁纸wallhaven.cc下载图片
  15. 《CSS世界》笔记二:盒模型四大家族
  16. 05,数据采集:怎样做好全量全要素连接和实时反馈
  17. 如何集中注意力,专注地干一件事情?
  18. 读书笔记:《从一到无穷大》
  19. 虚拟局域网软件开源_老牌沙盒虚拟软件免费开源,可以不用虚拟机了
  20. “终于我从字节离职了...“一个年薪40W的测试工程师的自白...

热门文章

  1. html图片后边自动底部对齐,css实现图片与文字底边对齐
  2. 微信公众号(一键互粉)增粉平台的源码分享
  3. PEPL命令-交互式解释器
  4. vsCode 快捷键
  5. jQuery获取、设置标签属性值
  6. 我现在的笔记有哪几个地方?
  7. 温故知新(五)——三参数陷波滤波器离散化推导及MATLAB实现
  8. 互联网黑话大全 最新词汇 黑话生成器
  9. ESP32-C3入门教程 WiFi篇③——WiFi SoftAP 模式开启AP热点
  10. 单链表的基本操作----------头插法/尾插法建立链表