客户端存储localStorage和sessionStorage以及Cookie

前言

正常情况下,我们前端写的静态页面,只要刷新,就重置了,无法保留任何信息。为解决这一弊端

我们可以利用js中的客户端数据存储。

简介

在JS中存储在客户端数据有很多方式:Storage有两个对象:localStorage (本地存储)和sessionStorage(临时存储),Cookie,indexedDB(一般用于游戏开发存储体积较大)

总结

Cookie、localStorage、SessionStorage的区别

Cookie需要借助http,而Storage不需要

Cookie存储空间小4kb,Storage 空间大5Mb

Cookie的操作比较麻烦,Storage有相应的api帮助我们快速操作。

Cookie可以设置过期时间,Storage不能,localStorage没有过期时间,SessionStorage浏览器关闭就消失。

Cookie还可以给不同的path和域名设置cookie,storage不能。

localStorage设置后,整个域名共享,SessionStorage只有对应的页面可以使用,其他页面无法使用。

他们可以实现的功能大致相同。

Storage

Storage分为localStorage和sessionStorage,他们有相同的API可以进行添加、修改、删除、清空操作。

  • setItem(key, value)
  • removeItem(key)
  • getItem(key)
  • clear()

这两个存储的方法一致,是一样的效果。

这个中间只能存字符串,引用类型存储时会自动调用toString方法,如果想要存储对象或者数组,可以使用JSON.stringify进行转换,转换为字符串

特性

本地存储localStorage

存储数据到本地,只要你不主动删除,并且电脑浏览器不被卸载,这个数据就永远可以被获取到存储大小一般为10m甚至更大,在所有同源窗口中都是共享的,不参与浏览器与服务器的传递;

临时存储sessionStorage

存储数据在本地,只要浏览器关闭,则会话存储就会被清空,存储大小一般为5m甚至更大,不在不同的浏览器窗口中共享,不参与浏览器与服务器的传递;

cookie

相比Storage存储量更小仅为4k,前后端人员都能设置cookie,在所有同源窗口中都是共享的,参与浏览器与服务器的传递,还有第一次请求是没有cookie的,通常是由后端人员设置,服务器在收到请求之后会在响应中添加头部 Set-Cookie,并标识

cookie的缺点:

  • 存储小。只有4kb
  • 自动被携带http请求中,导致请求时间变长。
  • 必须依赖服务器
  • cookie比较早,相关api比较老,不好操作。需要人为封装函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

object not found

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值