localStorage,sessionStorage和cookie的介绍及区别

2023-11-15

localStorage,sessionStorage和cookie的介绍及区别
1、localStorage
localStorage是HTML5规范中作为持久化保存客户端数据的方案, localStorage可以用于数据缓存,日志存储等应用场景
localStorage特征:
受同源策略的限制
存储空间一般都在5MB左右
键值对最终的存储形式是字符串
2、sessionStorage
会话,是可以将一部分数据在当前会话中保存下来,刷新页面数据依旧存在。但是页面关闭后,sessionStorage中的数据就会被清空
3、cookie
实际上就是一些信息,这些信息以文件的形式存储在客户端计算机上,当用户访问了某个网站,可以通过cookie向访问者电脑上存储数据(页面用来保存信息)
cookie 只能作为临时存储,当了浏览器关闭,就会自动销毁
cookie作用域为当前域,有文件夹路径的区分,cookie是以域当中的文件夹来存储的
http://www.jd.com/index.html:在这个域中任何文件都可以写cookie,存储的为宗旨都是以这个域作为存储空间的,别的域不能访问,
cookie的功能:在浏览器中进行数据的存储,用户名、密码
cookie存储的数据类新型:字符串
任何页面不能向本地存储文件
缺点:可能被禁用、是与浏览器相关的、可能被删除、安全性不够高
cookie的用法
document.cookie = “name=”mcy””;
会将key相同的值覆盖掉
存储cookie数据,

var obj = getCookie();
    console.log(obj)
    function getCookie() {
      return document.cookie.split(/;\s*/).reduce((value, item) => {
        // console.log(item.match(/([^=]+)=([^=]+)/).slice(1));
        var arr = item.split("=");
        value[arr[0]] = isNaN(arr[1]) ? arr[1] : Number(arr[1]);
        return value;
      }, {})
    }

获取cookie数据:document.cookie
使用cookie
1、刷新页面时可以使用
2、跳转到当前域所在另外页面时可以获取前面cookie存储的数据内容
cookie可以设置过期时间
一、

var date=new Date();
      date.setMinutes(6);
      document.cookie="name=xietian;expires="+date.toUTCString();

二、

var date=new Date();
  date.setMinutes(15);
  Utils.setCookie("price",300,date);

如何删除以及设置了过期失效的cookie

Utils.setCookie("password","",new Date());
Utils.setCookie("user","",new Date());

clearCookie 清除所有cookie
getCookie 获取所有cookie

如果删除以及设置了过期失效的cookie

Utils.setCookie("password","",new Date());
Utils.setCookie("user","",new Date());

cookie的生存期*:
在默认情况下,cookie是临时存在的。在一个浏览器窗口打开时,可以设置cookie,只要该浏览器窗口没有关闭,cookie就一直有效,而一旦浏览器窗口关闭后,cookie也就随之消失。如果想要cookie在浏览器窗口之后还能继续使用,就需要为cookie设置一个生存期。所谓生存期也就是cookie的终止日期,在这个终止日期到达之前,浏览器都可以读取该cookie。一旦终止日期到达之后,该cookie将会从cookie文件中删除。

localStorage、sessionStorage与cookie的区别
(1)cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递。而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。
(2)存储大小限制也不同
sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。
cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。
(3)数据有效期不同
localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持; cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。
(4)作用域不同
localStorage 在所有同源窗口中都是共享的;
sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;
cookie也是在所有同源窗口中都是共享的。
(5)通信
localStorage:仅在客户端(即浏览器)中保存,不参与和服务器的通信;不会自动把数据发送给服务器,仅在本地保存
sessionStorage:仅在客户端(即浏览器)中保存,不参与和服务器的通信;不会自动把数据发送给服务器,仅在本地保存
cookie:十种携带在同源的http请求中,即使不需要,故cookie在浏览器和服务器之间来回传递;如果使用cookie保存过多数据会造成性能问题
(6)易用性
cookie:需要自己进行封装,原生的cookie接口不够友好
sessionStorage:原生接口可以接受,可以封装来对Object和Array有更好的支持
localStorage:原生接口可以接受,可以封装来对Object和Array有更好的支持

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

localStorage,sessionStorage和cookie的介绍及区别 的相关文章

  • parseInt和Math.floor的区别

    引入 在大多数情况下 他们都可以用来取一个小数的整数部分 但是在某些特殊场景下 就只能使用math floor 比如我们想取一个区间范围内的值 如果使用 就可以取到 但如果使用 就只能取到 这是为什么呢 首先我们还是从他们的原理开始看 co
  • docker容器添加ssh服务

    本篇文章主要介绍如何为一个容器添加ssh服务 使得可以从另一台服务器直接ssh到一个容器内部 达到直接访问容器内部环境的目的 避免需从宿主机docker exec或attach进入容器 实验环境 两台服务器地址 192 168 91 131
  • 外卖项目 - Day01

    外卖 Day01 外卖项目介绍 开发环境搭建 后台登录功能开发 后台退出功能开发 1 项目介绍 在开发外卖这个项目之前 我们需要全方位的来介绍一下当前我们学习的这个项目 接下来 我们将从以下的五个方面 来介绍 外卖这个项目 1 1 项目介绍
  • linux ui 代码,Android自定义UI模板图文详解【附源代码】

    不知道大家在实际开发中有没有自定义过UI模板 今天花时间研究了一下Android中自定义UI模板 与大家分享一下 每个设计良好的App都是自定义标题栏 在自定义标题栏的过程中大部分人可能都是自定义一个标题的xml文件 然后在需要的地方直接通
  • c++ svd实例整理

    矩阵简单封装 下面两个是一样的 http download csdn net download o07sai 2206411 https github com jiaohaitao svd double数组 http download cs
  • Java引用传递问题

    if planSuccessServices contains value service put choose yes successServices add service if planFailServices contains va
  • 在Windows上实现link

    众所周知 在Linux上 link命令很好很强大 可以很方便的为我们创建链接 但是在Windows上却没有对应的功能 之多只能建一个快捷方式 但是远远达不到link的功能 如何才能使Windows上也具备类似Linux上link的功能呢 最
  • 【Spring Boot 源码学习】自动装配流程源码解析(上)

    Spring Boot 源码学习系列 自动装配流程源码解析 上 引言 往期内容 主要内容 1 自动配置开关 2 加载自动配置组件 3 自动配置组件去重 总结 引言 上篇博文 笔者带大家从整体上了解了AutoConfigurationImpo
  • el search模糊查询

    import json from elasticsearch import Elasticsearch es Elasticsearch 192 168 55 90 9200 source arr uri camera deviceId p
  • 如何用多种方式安装jupyter notebook

    目录 注意 安装python的方式 在官网下载python3 安装后需要确保安装Python成功 安装jupyter notebook的三种方式 1 使用终端安装jupyter notebook 2 使用Pycharm控制台安装jupyte
  • javafx+mysql实现学生信息管理系统(连接数据库实现增删改查功能)利用了SceneBuilder

    功能简单介绍 因为是重新学的 花了一天写出来的 界面比较简陋 暂时还没有完善 但是功能都可以正常实现 数据库建表 可以参考格式 可以根据需要对应修改tableview中的column 这个对表没有太多要求 可以自行修改 首先是登陆页面 账号
  • 如何用Python将普通视频变成动漫视频

    文章目录 容我废话一下 一 思路流程 二 图像转动漫 三 视频帧读取与视频帧写入 容我废话一下 最近几个月 毒教材被曝光引发争议 那些编写度教材的人着实可恶 咱程序员也没有手绘插画能力 但咱可以借助强大的深度学习模型将视频转动漫 所以今天的
  • CentOS入门

    1 CentOS 是RHEL的克隆版本 但其更新 如升级 漏洞修复等 要比RHEL慢一点 因其稳定 长期的升级支持 保守性以及大规模使用性能稳定等因素被企业普遍使用 RHEL发行方式有两种 一是发行二进制 二是发行源码 而CentOS就是将
  • Android Studio一课一得

    一 概述 Android Studio是由Google开发的官方集成开发环境 IDE 主要用于Android平台上应用程序 App 及游戏的开发 Android Studio提供了丰富的工具和功能 包括代码编辑器 可视化布局编辑器 调试器和
  • 无限重置IDEA试用期的小脚本

    1 Reset the trial period of IDEA vbs Set wsshell CreateObject WScript Shell Set filesys CreateObject Scripting FileSyste
  • 层次分析法小结

    层次分析法的步骤 建立层次结构模型 构造成对比较矩阵 层次单排序及其一次性检验 层次多排序及其一次性检验 1 建立层次结构模型 层次结构模型一般分为三个部分 目标层 也就是我们最终需要寻找出来的最佳结果 通常为一个 准测层 结果优劣的判断因
  • Spark读取外部数据的几种方式

    一 spark读取csv文件 四种方式 方式一 直接使用csv方法 val sales4 DataFrame spark read option header true option header false csv file D Soft
  • lu分解法解线性方程组 python_一篇文章入门大规模线性方程组求解

    前面介绍过主要的线性方程组求解库 参考附录 求解大规模线性方程组是仿真软件求解器的底层技术 求解器时间基本都消耗在方程组求解上 线性方程组的解法比较成熟 方法也有很多 而且不同的方法对应不同类型方程组 所以在方法选择上实际很讲究 商业软件通
  • linux内核的 等待队列 使用方法,wait_queue_head_t,进程休眠

    当你在用户空间需要读写一大片数据的时候 这个就用上了 以下来自 http www yuanma org data 2006 1207 article 1916 htm 假设我们在 kernel 里产生一个 buffer user 可以经由
  • Linux常用操作指令

    Linux操作系统 linux基础指令 命令 解释 命令 解释 ps ef aux 查看进程 history 查看历史命令 whatis 一句解释 2 把编号为2的历史命令再来一次 man 查看解释 uname hostnam clear

随机推荐

  • H2数据库使用

    H2最完整的资料下载地址 http download csdn net detail yixiaoping 5956595 H2数据库使用 H2数据库介绍 常用的开源数据库 H2 Derby HSQLDB MySQL PostgreSQL
  • MySQL 通用查询日志与慢查询日志

    MySQL中的日志包括 错误日志 二进制日志 通用查询日志 慢查询日志等等 这里主要介绍下比较常用的两个功能 通用查询日志和慢查询日志 1 通用查询日志 记录建立的客户端连接和执行的语句 2 慢查询日志 记录所有执行时间超过long que
  • python制作飞机大战代码_python实现飞机大战完整代码,可运行

    我发现很多python代码飞机大战在互联网上 但几乎没有一个是完整的 所以我做了一个完整的人 python代码分为两个文件 工具类和主类 python版本 pygame模块需要安装 完整的代码如下 1 工具类plane import ran
  • android 自定义RadioButton样式

    上面这种3选1的效果如何做呢 用代码写 其实有更简单的办法 忘了RadioButton有什么特性了吗 我就用RadioButton实现了如上效果 其实很简单的 首先定义一张background 命名为radio xml 注意该backgro
  • webdriver用法

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 webdriver是什么 百度搬运 二 使用步骤 1 引入库 2 基本调用 总结 前言 webdriver库 本片文章主要记录webdriver一些常用的
  • Ubuntu下python环境搭建

    一般ubuntu系统会自带安装python2 x 和python3 x两个版本 我使用的ubuntu16 04自带python2 7和python3 5 我们只需要安装pip以及virtualenv 管理python环境 多项目部署时pyt
  • 清除计算机垃圾cmd命令,cmd清理垃圾命令代码是什么

    类型 系统其它大小 21 5M语言 中文 评分 10 0 标签 立即下载 电脑用久了是会堆积一些系统垃圾的 这类垃圾不好清理 很多小伙伴选择使用cmd清理垃圾命令代码来清理 cmd清理垃圾命令代码是什么 西西小编来为大家介绍 cmd清理垃圾
  • 操作系统、驱动和硬件的关系的思考

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 这些问题是困扰一个人理解整个电脑架构的难点 比如 操作系统和驱动是什么关系 为什么需要驱动 cpu 内存需要驱动吗 为什么操作系统可以先装到电脑上 然后再去安装其它驱动 比
  • 23个最有用的ES检索技巧(Java API实现)

    前言 本文是对 23个最有用的Elasticseaerch检索技巧 一文提到的ES检索技巧进行 Java API 的简单实现 但仅限于简单实现 并不考虑包括参数校验 异常处理 日志处理 安全等问题 仅供参考 代码见 UsefullESSea
  • WebService_HelloWorld_笔记

    创建服务端步骤 1 定义服务接口和实现类 2 给接口和实现类加上注解 3 发布服务 http localhost 8888 ns wsdl http localhost 8888 ns xsd 1 package biz codeworm
  • 社区的代码规范及e2e测试

    golangci lint 静态代码检查工具 是对golint gofmt的集成 速度更快 1 安装 go install github com golangci golangci lint cmd golangci lint v1 38
  • c语言 寻找素数对

    寻找一个偶数的最邻近的素数对
  • 菜鸟式教程:Idea上传代码到Gitee

    点击File settings Plugins 在搜索栏中输入gitee 点击安装 安装完成之后 点击OK 即完成gitee 如下图所示 安装完成之后 重启Idea 然后点击File settings Plugins 找到Gitee 如下图
  • 机器学习实战之CART

    理论 CART Classification and Regression Tree 是决策树的一种 决策树是每次以某个属性为准 将数据集划分为几个类 最终数据集中的元素都被划分到相应的类中 典型的决策树算法是ID3 ID3与CART不同之
  • 天梯赛复盘

    昨天刚比完天梯赛 以为有了大一以来的积累 可以轻轻松松国三 结果 题确实感觉不难 全是模拟题 但还是寄了 结合我朋友和我的状况 总结一下教训 一 刷题阶段 1 天梯赛的题L1 L2不难 所以我前期犯得错误就是 只刷题不找题解 这其实是不太好
  • Java 开发环境配置----JDK配置

    下载JDK 首先我们需要下载java开发工具包JDK 下载地址 Java Downloads Oracle 点击如下下载按钮 在下载页面中你需要选择接受许可 并根据自己的系统选择对应的版本 本文以 Window 64位系统为例 下载后JDK
  • 物联网--思科模拟器--简单风力发电

    参考视频入口 实验拓扑图 需要注意的是ioe7连的是d1口 ioe5连的d0 服务器配置ip 电脑 风力发电 电显示器配置ip 电脑上注册 服务器上查看 为ioe6 ioe7个设置控制的账号密码 电脑上查看控制 效果图
  • lambda中sorted排序

    准备工作 新建一个User类 使用stream排序操作 默认ASC排序 stream倒序排序操作 sorted Comparator reverseOrder 代码例子 lambda sorted排序 Test public void te
  • Linux操作系统与Shell编程

    Linux是自由 开源的操作系统 安装在计算机的硬件之上 是用来操作计算机硬件和软件资源的系统软件 一般应用于专业的web服务器上 具有以下特性 Linux注重系统的安全性 对文件访问权限有严格设定 最高权限账户为root用户 可以操作一切
  • localStorage,sessionStorage和cookie的介绍及区别

    localStorage sessionStorage和cookie的介绍及区别 1 localStorage localStorage是HTML5规范中作为持久化保存客户端数据的方案 localStorage可以用于数据缓存 日志存储等应