localStorage、sessionStorage、cookie 使用整理

下面从这几方面进行梳理

  1. 存储形式
  2. 相同点
  3. 不同点
  4. 使用方法
  5. 用途
  6. 多标签之间通讯

一、存储形式

1、localStrong 、 sessionStorage 已key value 的方式存储
2、cookie 以字符串的形式存储 包括 name value expires(过期时间) path (允许访问路径)

二、相同点

localStorage、sessionStorage、cookie 都可以做数据存储

三、不同点

1、localStorage、sessionStorage 存储数据在 5M 左右(不同浏览器之间存在差异)cookie 存储数据在 4K 左右
2、localStorage、sessionStorage 存储不参与网络通讯,cookie 会携带在请求头参与网络通讯
3、localStorage 生命周期永久有效,除非手动删除。sessionStorage 存储在当前浏览器打开的标签页,当用户关闭标签页sessionStorage 存储内容自动清除。cookie 在不设置过期时间时,当浏览器标签页关闭时失效,设置过期时间则在超过过期时间时失效。

四、使用方法

存储数据

1、localStorage
window.localStorage.setItem(key, value: String)
2、sessionStorage
window.sessionStorage.setItem(key, value:string)
3、cookie
document.cookie = "key=value;key=value;";

获取数据

1、localStorage
window.localStorage.getItem(key)
2、sessionStorage
window.sessionStorage.getItem(key)
3、cookie
getCookie() {
const start = document.cookie.indexOf("name:=");
const end = document.cookie.indexOf(';', start)
if (end == -1) {
end = document.cookie.length
} return unescape(document.cookie.substring(start, end))
}
获取cookie 的第二种方式
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); if(arr=document.cookie.match(reg)) return unescape(arr[2]); else return null;

删除数据方式

1、localStorage
window.localStorage.removeItem("key")
2、sessionStorage
window.sessionStorage.removeItem("key")
3、cookie
将 expires 设置为过期时间即可

五、用途

可以存储用户信息,记录用户行为,token,登录状态

六、多标签之间通讯

可以监听 storage 方法,当localStorage 值发生改变时可以触发其他标签页的 storage 方法。不同浏览器略有差异(IE:你们都看我干嘛)

window.addEventListener('storage', storageListener, false)

function storageListener(event) {
console.log('---------------- event ------------', event);
}

记一下 localstorage sessionStorage cookie 不同的更多相关文章

  1. localStorage sessionStorage cookie indexedDB

    目录: localStorage sessionStorage cookie indexedDB localStorage localStorage存储的数据能在跨浏览器会话保留 数据可以长期保留,关 ...

  2. 客户端 localStorage, sessionStorage, cookie 的区别

    SessionStorage, LocalStorage, Cookie这三者都可以被用来在浏览器端存储数据,而且都是字符串类型的键值对! 区别在于前两者属于WebStorage,创建它们的目的便是存 ...

  3. localstorage sessionstorage cookie的区别

    一.基本概念 Cookie cookie比较小,大小限制在4kb左右,是网景公司的前雇员 LouMontulli 在1993年3月的发明.它的主要用途有保存登录信息,比如你登录某个网站市场可以看到“记 ...

  4. localstorage sessionstorage cookie 备忘

    /* sessionStorage: 保存的数据用于浏览器的一次会话,当会话结束(通常是该窗口关闭),数据被清空: localStorage: 保存的数据长期存在,下一次访问该网站的时候,网页可以直接 ...

  5. 本地存储 localStorage/sessionStorage/cookie

    cookie是个基础的东西.是服务器发送到客户端,存储在客户端的一小段数据.可以存储一些配置信息,客户标识信息等.用户下次访问这个网站时,会把上次网站发来的cookie一同发送回去.cookie保存在 ...

  6. localStorage,sessionStorage,cookie使用场景和区别

    localStorage:HTML5新增的在浏览器端存储数据的方法.设置和获取localStorage的方法: 设置: localStorage.name = 'zjj'; 获取: localStor ...

  7. localStorage&sessionStorage&Cookie

    localStorage.sessionStorage.Cookie三者区别如下:

  8. localStorage,sessionStorage,cookie区别

    localStorage:HTML5新增的在浏览器端存储数据的方法.设置和获取localStorage的方法: 设置: localStorage.name = 'zjj'; 获取: localStor ...

  9. localStorage/sessionStorage/cookie

    html5本地存储主要有两种localStorage和sessionStorage        都是使用相同api,存入后都是字符串类型 localStorage和sessionStorage使用方 ...

  10. sessionStorage 和 localStorage 、cookie

    sessionStorage 和 localStorage html5中web storage包括两种储存方式:sessionStorage 和 localStorage sessionStorage ...

随机推荐

  1. Java应用结构规范

    ​简介:在Java程序开发中,命名和应用分层无疑是广大后端同胞的两大"痛点",本文提供一种基于领域模型的轻量级应用分层结构设计,供大家参考.下面按分层结构.分层明细.调用关系.各层 ...

  2. Serverless Kubernetes 落地实践

    ​简介:如何通过原生 Kubernetes 提供 Serverless 能力?如何借力丰富的云原生社区生态?本文将给大家介绍一下我们在 Serverless Kubernetes 上的落地实践. 作者 ...

  3. 2019-9-27-微软的-P2P-下载方式

    title author date CreateTime categories 微软的 P2P 下载方式 lindexi 2019-09-27 09:44:44 +0800 2019-09-27 09 ...

  4. debug技巧之本地调试

    大家好啊,我是summo,今天给大家分享一下我平时是怎么调试代码的,不是权威也不是教学,就是简单分享一下,如果大家还有更好的调试方式也可以多多交流哦. 如果看过我文章的同学应该知道我是一个Java开发 ...

  5. 同时添加多个的远程桌面工具,Windows远程桌面设置多用户同时登录

    Windows Server 版本上的 Windows 远程桌面服务 (RDS) 允许多个用户同时登录. 但是,在标准的Windows桌面版本(例如Windows 10)上,默认情况下,远程桌面是为单 ...

  6. springboot项目启动会报4个加载不到的debug提示,可改可不改

    1. 因为启动的时候会报提示: Unable to locate LocaleResolver with name 'localeResolver': using default [org.sprin ...

  7. C语言:对fgets进行封装

    因为fgets在赋值完字符后,在最后会加一个\n换行符,所以为了能够把数组当成字符串,就必须把\n改成\0 代码: #include<stdio.h> #include<stdlib ...

  8. es命令大全,elasticsearch命令详解

    参考链接 Relational DB Elasticsearch 数据库(database) 索引(indices) 表(tables) types 行(rows) documents 字段(colu ...

  9. linux ls命令的重要用法:按照文件大小排序和按照时间排序

    1.ls命令是list的缩写,用来打印当前目录清单或者打印出指定目录下的文件及文件清单. 2.本文介绍ls的重要用法:按"文件大小"排序列出文件清单和按"时间" ...

  10. spring boot 在windows下的 批文件部署

    目录结构如下: install.bat @echo off SET JAVA_HOME="C:\Program Files\Java\jdk1.8.0_211\bin" copy ...