前端存储cookie、session、localStorage、sessionStorage、IndexedDB

cookie

定义: HTTP Cookie(也叫 Web Cookie或浏览器 Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。cookie使基于无状态的 HTTP 协议记录稳定的状态信息成为了可能。
特点:
①.大小受限制,cookie的大小被限制在4KB
②.可以设置过期时间
③.同一个域名下存放的cookie的数量是有限的,一般为20个,不同浏览器不同
④.用户每次发送请求,cookie都回随着请求一起被发送到服务器
⑤.cookie数据始终在同源的http请求中携带(即使不需要),这也是cookie不能太大的重要原因

session

定义:session 代表着服务器和客户端一次会话的过程。 session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当客户端关闭会话,或者 session 超时失效时会话结束。

cookie和session的区别

①.cookie数据存放在客户的浏览器上,session数据放在服务器上。
②.cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session
③.session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用cookie
④.单个cookie保存的数据不能超过4K,session可存储数据远高于 cookie
⑤.cookie可设置为长时间保持,session一般失效时间较短,客户端关闭或者 session超时都会失效。
⑥.cookie 只能保存 ASCII,session可以存任意数据类型。

localStorage

定义: 这是一种持久化的存储方式,也就是说如果不手动清除,数据就永远不会过期。它也是采用Key - Value的方式存储数据,能保存更大的数据。
特点:
①.保存的数据长期存在,下一次访问该网站的时候,网页可以直接读取以前保存的数据,localStorage是永久存储,除非手动删除。
②.大小为2.5MB 到 10MB
③.仅在客户端使用,不和服务器进行通信
④.存在的信息在同一域中是共享的,只要在相同的协议、相同的主机名、相同的端口下,就能读取/修改到同一份localStorage数据
⑤.localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡。
语法:
保存数据:

localStorage.setItem("key", "value");

读取数据:

localStorage.getItem("key");

删除数据:

localStorage.removeItem("key");

删除所有:

localStorage.clear();

sessionStorage

定义: 和服务器端使用的session类似,是一种会话级别的缓存,关闭浏览器会数据会被清除。不过有点特别的是它的作用域是窗口级别的,也就是说不同窗口间的sessionStorage数据不能共享的。使用方法(和localStorage完全相同)
特点:
①.sessionStorage当会话结束(当前页面关闭的时候,自动销毁)
②.不同窗口间的sessionStorage数据不能共享的。
语法: 同localStorage一样

IndexedDB

这个我还没学
在这里插入图片描述

indexedDB教程

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值