H5存储方案——cookie、session、SessionStorage和LocalStorage

2023-11-04

1.简述

浏览器端存储网页中的数据有三种存储方案:cookie、SessionStorage和LocalStorage。
其中:SessionStorage和LocalStorage是H5新增的存储方案。
而cookie经常同session一并提起,它们的主要区别:

  • cookie:会话跟踪技术 客户端(浏览器)
  • session;会话跟踪技术 服务端

也就是说session一般用于服务器端进行会话跟踪,并不是前端使用的技术,在此不细谈。

2.cookie、SessionStorage、LocalStorage作用:

可以将网页中的数据保存到浏览器中

4.Cookie、 SessionStorage、LocalStorage区别

  • 4.1、生命周期(同一浏览器下)
Cookie SessionStorage LocalStorage
生命周期 默认是关闭浏览器后失效, 但是也可以设置过期时间 仅在当前会话(窗口)下有效,关闭窗口或浏览器后被清除, 不能设置过期时间 除非被清除,否则永久保存
  • 4.2、容量
Cookie SessionStorage LocalStorage
容量 有大小(4KB左右)和个数(20~50)限制 有大小限制(5M左右) http://dev-test.nemikor.com/web-storage/support-test/ 有大小限制(5M左右) http://dev-test.nemikor.com/web-storage/support-test/
  • 4.3、网络请求
Cookie SessionStorage LocalStorage
网络请求 每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题 仅在浏览器中保存,不参与和服务器的通信 仅在浏览器中保存,不参与和服务器的通信

5、Cookie、 SessionStorage、LocalStorage应用场景

Cookie: 判断用户是否登录——便于本地对cookie的存储、判断,还能发送给服务器,服务器进行进一步的验证。实现双重验证
LocalStorage: 购物车——容量大,永久存储
sessionStorage: 表单数据——容量大,本次会话一直保存,返回时填写数据仍然在

6、注意点:

无论通过以上那种方式存储的数据, 切记不能将敏感数据直接存储到本地
LocalStorage只能存储字符串,不能存储数组,需要将数组转为字符串再存储。

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

H5存储方案——cookie、session、SessionStorage和LocalStorage 的相关文章

  • 任何无需 GUI/X 会话即可使用 GreaseMonkey 脚本运行 Firefox 的方法

    我需要为第三方网站构建一个小型 监控 抓取工具 这是一个外部网站 其中包含有关我们访问者的统计信息 不幸的是 这个网站很难通过正常的 wget 机制 因为它使用了大量复杂的 JS 其中一部分是由 GWT 生成的 所以我的解决方法是创建一个
  • 使用Rvest登录网站抓取时出现403错误

    我试图在需要登录的网站上抓取页面 但不断收到 403 错误 我已经修改了我网站的这两篇文章中的代码 使用rvest或httr登录网页上的非标准表单 https stackoverflow com questions 28418770 usi
  • Magento - 检查管理员和客户是否登录

    我有一个安装了 Magento 1 4 0 1 的 Web 服务器 我有另一个与之共享凭据的网站 我已经设法检查客户是否登录 在更改 Magento 中的 cookie 位置之后 但是当我还尝试确定管理员是否登录时 事情变得复杂 我只能得到
  • 在sqlalchemy中跨不同模块访问相同的db.session

    我对 sqlalchemy 非常陌生 正在尝试找出如何让事情变得更干净和连接 我创建了一个 model base py 文档 在其中创建了一个会话并在表中建立了所有实体 以及关系等 我想创建另一个模块 在其中对 base py 中的实体 表
  • 会话在 Laravel 5.4 上不持久

    我在 Laravel Sessions 方面遇到了一些问题 现在我在 Laravel 5 4 下工作 所以 我使用以下代码来设置会话 request gt session gt put usuario somevalue 但是当我尝试使用以
  • 为什么我们提交表单时会生成一个新的令牌

    我正在努力理解回答SO https stackoverflow com questions 2133964 how to prevent multiple inserts when submitting a form in php 5159
  • 安全灵活的跨域会话

    我有一个问题希望你能帮忙解决 假设我在一家名为 Blammo 的假设公司工作 我们有一个名为 Log 的假设产品 我正在尝试建立一个系统 人们可以登录 logfromblammo com 并订购我们的一些产品 然后当他们准备好购买时 前往
  • 关于 PHP 范围的问题 - 从 Java 程序员的角度来看

    我对 PHP 还很陌生 所以我试图理解 PHP Web 应用程序中的范围概念 在 Java 世界中 Java Web 应用程序 使用 Java Server Pages JSP 及以上 将允许 Java Bean 具有以下级别的范围 Pag
  • 会话对象不更新 ASP.NET

    我在代码的一个时刻设置了一个会话对象 Session my name Dave 稍后在我的代码中 我给用户一个更新此对象的机会 Session my name TextBox1 Text 我重新加载页面并显示一个简短的 hello 语句 如
  • Flask 会话不持久(Postman 有效,Javascript 无效)

    我正在开发一个 Flask 服务器 用于通过网络在一些后端 Python 功能和 Javascript 客户端之间进行通信 我正在尝试利用 Flask 的session变量来存储用户在与应用程序交互过程中的特定数据 我已经删除了下面大部分应
  • PHP 会话中的数据错误

    我对网上商店进行了以下设置 当用户登录时 通过 AJAX 调用脚本 该脚本根据 SOAP Web 服务验证用户数据 并返回用户数据 当用户登录时 用户数据保存在 PHP 会话中 用户数据 仅通过 SOAP 检索 而不由商店存储 我使用默认的
  • PHP 会话锁定并使用 Memcache 存储会话

    我有一个标准的 html 页面 其中有一些 img 标签 每个标签都指向我们服务器上的一个 php 文件 加载 php 文件时 它会在生成图像之前将一些数据保存到会话中 来自每个脚本的会话中的数据随后将在我们的应用程序中的其他脚本中使用 生
  • Struts 2 中的 Java 应用程序可以管理多少个会话?

    我正在开发事务管理应用程序 并且正在使用 Struts2 我在内部使用了一个会话来设置和获取值 例如 ActionContext getContext getSession put string string 在应用程序中使用这样的会话是否
  • 如何将 PHP 会话数据保存到数据库而不是文件系统中?

    我有两个网站 一个是 TLS 一个不是 两个都适用于同一个客户端 但我需要这些网站彼此 并且仅彼此 共享通用数据users orders accounts etc 这通常可以通过以下方式完成 SESSION数据 但我显然这些不能跨其他站点工
  • 使用 CDI+JSF 使会话失效不起作用

    我正在尝试在我的应用程序中实现注销 所以我这样做了 public String logout try FacesContext facesContext FacesContext getCurrentInstance ExternalCon
  • 从 iframe 访问 Session 变量

    我有一个 jsp 我在其中设置了会话变量 但是 当我尝试读取另一个 jsp 中的会话变量 user 时 该变量已加载到 iframe 同一主机 服务器等 中 然后我得到 NullPointerException 如何在 iframe 中获取
  • PHP session.cookie_secure:设置为 true 时禁用会话

    当我设置以下配置时 ini set session cookie secure 1 我的整个应用程序的会话被禁用 我无法再写入或读取会话变量 sessionName us session name sessionName ini set s
  • 非法尝试将集合与两个开放会话关联 流畅的 nhibernate

    我有这个异常 非法尝试将集合与两个打开的会话关联 每次我保存包含子集合的实体时都会引发该异常 我用谷歌搜索一下 我发现在调用保存时我打开了两个或多个会话 但我确定我只使用了一个会话 我哪里做错了 我该如何解决这个问题 注意 我使用的是 MV
  • 连接多个用户的 R 闪亮会话

    最小可重现示例 library shiny ui lt fluidPage actionButton button1 Run 1 actionButton button2 Run 2 server lt function session i
  • Facebook-API 中的会话密钥和访问令牌

    有人可以向我解释一下什么是会话密钥和访问令牌吗 怎样才能抓住那两个人呢 为什么以及何时需要使用它们 什么时候是 一次性 什么时候不是 另外 他们之间有什么区别 请用Java 来做 我是一位刚接触 facebook API 的 Java 开发

随机推荐

  • 负载

    参考博客 https baike baidu com item E8 B4 9F E8 BD BD E7 94 B5 E9 98 BB 1136575 fr aladdin http www elecfans com d 938676 ht
  • Python包和库

    2 3 包和库 2 3 1 包的概念 包是在模块之上的概念 为了方便管理而将多个脚本文件 模块文件 进行打包 包是一种用点式模块名构造 Python 模块命名空间的方法 例如 模块名 A B 表示包 A 中名为 B 的子模块 正如模块可以区
  • Vue生成二维码

    文章目录 概要 整体架构流程 实现过程 创建vue VsCode打开项目 打开终端 下载qrcodejs2插件 导入和使用qrcodejs2 代码展示与讲解 概要 实现输入内容后点击回车或生成按钮 生成二维码 扫描后是我们在输入框的值 在上
  • 华为OD机试 - 找到比自己强的人数(Java)

    题目描述 给定数组 2 1 3 2 每组表示师徒关系 第一个元素是第二个元素的老师 数字代表排名 现在找出比自己强的徒弟 输入描述 无 输出描述 无 用例 输入 2 1 3 2 输出 0 1 2 说明 输入 第一行数据 2 1 表示排名第
  • 立刻更新你的苹果设备!苹果被曝2大安全漏洞,无需交互就能被植入间谍软件...

    萧箫 发自 凹非寺量子位 公众号 QbitAI 不要犹豫 立刻更新你的苹果设备 就在这两天 一家安全组织发现了苹果设备的2个最新漏洞 平板 手机 电脑等都受影响 例如搭载iOS 16 6版本的iPhone手机 以及新版本的iPad平板 Ma
  • b宝塔 centos端口更改_宝塔Linux面板添加安全入口,修改管理员默认用户名与端口...

    网站安全问题是件非常容易被忽视掉的事情 有些同学安装宝塔Linux面板之后管理员账号依旧使用的是admin 使用默认的账号密码很容易被入侵 因此猫总总结了使用宝塔面Linux板必须修改的三点 宝塔Windows面板用户同样需要注意安全问题
  • IDEA 下Java获取Tomcat 项目运行路径问题

    最近在学习SpringMVC的上传文件过程中 使session getServletContext getRealPath photo 获取项目运行路径 却发现获取得到的是 C Program Files Apache Software F
  • UBT11:ubuntu安装IDEA2020.1

    11 1 简介 linux上的IDEA并不需要安装 只要解压即可运行 这就好像win上面的绿色软件 所以 我们需要把idea解压到一个合适的位置 然后创建桌面快捷方式 即可完成安装 此方法应该适用于整个JetBrains的软件 11 2 环
  • mysql8 window安装,链式复制,双主复制,数据库的负载均衡

    by xuejianxinokok 163 com 2021年3月25日 周四 15 06 43 1 下载地址 https dev mysql com downloads mysql 2 下载文件名称为 mysql 8 0 23 winx6
  • 2022年“网络安全”赛项海南省赛选拔赛 任务书

    2022年 网络安全 赛项海南省赛选拔赛 任务书 一 竞赛时间 共计6小时 二 A模块基础设施设置 安全加固 350分 一 项目和任务描述 假定你是某企业的网络安全工程师 对于企业的服务器系统 根据任务要求确保各服务正常运行 并通过综合运用
  • Linux系统安装R语言

    R语言是一款开源 免费的用于绘图和统计分析的语言和集成环境 该语言使用起来十分方便 提供了许多扩展包供下载使用 目前网上一些linux安装R语言的教程太过繁琐 其实 在ubuntu linux 系统下利用其提供的apt get命令可以方便的
  • macbook pro 散热方案,温度仅29度

    结论 Macbook Pro 13 3 寸 2017 控制住温度 性能飞起 5年前散热不好时 容易触发 CPU 降频 一 需求 长时间满载运行不降频 控制住温度 控制住散热噪音 二 尝试过的散热方案 散热方案 说明 最低温度 满载温度 一
  • 华为云云耀云服务器L实例评测

    前言 在上篇文章 华为云云耀云服务器L实例评测 快速部署MySQL使用指南 中 我们已经用 华为云云耀云服务器L实例 在命令行窗口内完成了MySQL的部署并简单使用 但是后台有小伙伴跟我留言说 能不能用 华为云云耀云服务器L实例 来实现个简
  • 联盛德W800开发板

    目录 W800 芯片介绍 W800开发板 主要接口如下 1 概述 2 准备工作 3 SDK目录结构如下 4 W800编译固件编译 4 1 安装MSYS到本地 4 2增加国内软件更新源 编辑4 3下载工具链 4 5 make工具链配置 5 M
  • 浪潮服务器不显示光驱,电脑不从光驱启动怎么办?我是浪潮品牌的机子。

    在DOS下可以装系统的 WIN98启动软盘引导系统为例在DOS下安装XP 为提高安装速度 需要在启动盘中添加smartdrv exe磁盘高速缓存 cache 程序 并且在安装之前运行该程序 smartdrv是一个磁盘高速缓存程序 称之为sm
  • React事件处理方法

    一 注意事项 1 React元素的事件处理和Dom元素很相似 但是有一点语法的不同 2 React事件的命名采用小驼峰的命名方式 而不是纯小写 camelCase 3 使用JSX语法时你需要传入一个函数作为事件处理函数 而不是一个字符串 例
  • 【CVPR 2022 多模态融合(有3D检测)】Multimodal Token Fusion for Vision Transformers

    Multimodal Token Fusion for Vision Transformers 论文简介 具体实现 Alignment agnostic fusion Alignment aware fusion Multimodal To
  • 如何快速的只取出列表中的数字

    my list a a a 1 2 3 4 5 A B C 提取出 12345 方法一 使用try方法测试 isalnum 判断是否是字母 my list a a a 1 2 3 4 5 A B C str1 for i in my lis
  • Elasticsearch 在Windows上安装和启动

    1 安装JDK 至少1 8以上 2 下载和解压缩Elasticsearch安装包 下载地址 https www elastic co cn downloads 3 启动Elasticsearch bin elasticsearch bat
  • H5存储方案——cookie、session、SessionStorage和LocalStorage

    1 简述 浏览器端存储网页中的数据有三种存储方案 cookie SessionStorage和LocalStorage 其中 SessionStorage和LocalStorage是H5新增的存储方案 而cookie经常同session一并