浅聊Web Storage(localStorage 和 sessionStorage)、cookie的使用场合
Web Storage(localStorage 和 sessionStorage)、cookie
- 一、Cookie
- 二、Web Storage
- localStorage
- sessionStorage
- 与 Cookies 的比较
一、Cookie
Cookies 主要用于以下几种情况:
- 会话管理(Session Management): 登录、购物车、游戏得分,或者任何服务端应当记住的信息。
- 个性化(Personalization): 用户偏好设置、主题和其他设置。
- 跟踪(Tracking): 记录和分析用户行为。
详细说明如下:
-
会话管理
当用户在网站上进行操作时,服务器需要通过某种方式来识别各个请求是否来自同一浏览器。例如,在电子商务网站上,用户加入购物车中的商品必须与该用户的会话关联起来,这样在结账时网站才能发送正确的商品信息。Cookies 可以用于存储唯一的会话标识符,从而帮助维持用户会话状态。 -
个性化
站点可以使用 Cookies 来存储用户个性化设置,如语言偏好、地区设置或字体大小等。通过读取这些 Cookies,网站可以在用户每次访问时提供定制化的体验,无需用户重新配置其偏好设置。 -
跟踪
Cookies 经常用于网站分析,网站会利用 Cookies 来追踪用户在网站上的路径和行为。这有助于网站所有者了解用户偏好,改进网站内容和营销策略。广告网络也经常使用 Cookies 来收集有关用户兴趣的数据,并展示目标广告。 -
安全性
有些 Cookies(通常称为安全 Cookies)用于加强网络安全,比如防止 CSRF 攻击(跨站请求伪造),它们可以确保请求是由用户明确意愿发起的。 -
跨站点请求
Cookies 还可以用于实现第三方服务,例如社交媒体按钮、嵌入式内容或在线聊天服务。这些功能可能需要跨多个网站工作,并依赖于特定的 Cookies 来确保配置和用户偏好能够随处可用。
注意事项
- 隐私权:因为 Cookies 可以用于跟踪用户在网站上甚至跨站点的行为,所以涉及到隐私问题。欧盟的《通用数据保护条例》(GDPR)和其他隐私法规要求网站获取用户同意才能使用 Cookies 进行跟踪。
- 限制:一些现代浏览器在默认隐私模式下会限制跨站点跟踪 Cookies,尤其是第三方 Cookies。用户还可以自行清除 Cookie,或者设置浏览器禁用 Cookies。
- 替代方案:随着 Web 技术的发展,某些 Cookies 的用途可能会被新技术所替代,如 Web Storage(localStorage 和 sessionStorage)、IndexedDB 或服务器端会话。
在设计应用程序时应慎重考虑使用 Cookies 的目的,并确保遵守相关的法律法规,同时为用户提供透明的隐私选项。
Cookies 通常有大小限制(每个域名下约 4 KB),因此只包含必要的数据。通常,Cookies 存储的是引用数据,如标识符或令牌,而更详细的数据则存储在服务器端。
二、Web Storage
Web Storage API 提供了两种在客户端存储数据的机制,这两种机制分别是 localStorage 和 sessionStorage。它们都允许网页存储键值对,以便在页面加载时可以读取使用。不过,它们的主要区别在于数据存储的生命周期和作用域。
localStorage
localStorage 用于长期保存数据,即使关闭浏览器后数据仍然保存在用户的设备上。除非明确通过脚本删除或用户清除浏览器缓存,否则这些数据不会消失。
特点:
- 容量:通常有较大的存储限额(至少5MB)。
- 持久性:数据永久保存,除非用户手动删除或由脚本清除。
- 作用域:同源的所有窗口、标签页都能够共享相同的 localStorage 数据。
- 应用场景:适用于需要跨会话持久保存的数据,如用户偏好设置、主题选择等。
使用示例:
// 设置 localStorage 中的键值对
localStorage.setItem('username', 'JohnDoe');// 获取存储的值
const username = localStorage.getItem('username');// 删除一个键值对
localStorage.removeItem('username');// 清空所有存储
localStorage.clear();
sessionStorage
与 localStorage 相比,sessionStorage 是为了在单个会话中存储数据而设计的。这意味着存储在 sessionStorage 中的数据只在页面的单次会话期间可用,即页面关闭后数据就被清除了。
特点:
- 容量:通常有较大的存储限额(至少5MB)。
- 持久性:数据只在页面会话期间存在,当页面会话结束(页面关闭)时数据就会丢失。
- 作用域:数据只在创建它的窗口或标签页中有效;即使是相同的页面,在不同的标签页中也无法共享 sessionStorage 数据。
- 应用场景:适用于某些数据只应在页面当前生命周期内保留,如表单输入数据或一次性登录验证。
使用示例:
// 设置 sessionStorage 中的键值对
sessionStorage.setItem('sessionKey', '12345');// 获取存储的值
const sessionValue = sessionStorage.getItem('sessionKey');// 删除一个键值对
sessionStorage.removeItem('sessionKey');// 清空所有存储
sessionStorage.clear();
与 Cookies 的比较
- Web Storage 提供的存储容量更大。
- Web Storage 的语法更简洁易用。
- Cookies 每次都会随 HTTP 请求发送到服务器,而 Web Storage 仅存储在本地,不参与服务器通信。
- Web Storage 提供了更加具体的控制范围,例如你可以控制数据存储的持久性(localStorage)或是会话级别(sessionStorage)。
尽管 Web Storage 提供了许多优点,但在考虑用户隐私和数据安全性时,开发者还需谨慎处理敏感数据,并根据实际需求合理选择何时使用 Cookies、localStorage 或 sessionStorage。
相关文章:
浅聊Web Storage(localStorage 和 sessionStorage)、cookie的使用场合
Web Storage(localStorage 和 sessionStorage)、cookie 一、Cookie二、Web StoragelocalStoragesessionStorage与 Cookies 的比较 一、Cookie Cookies 主要用于以下几种情况: 会话管理(Session Management): 登录、购…...
C语言输入输出缓冲机制
文章目录 输入输出缓冲机制概述为什么要有缓冲区缓冲区的类型引发缓冲区的刷新 原理实现 输入输出缓冲机制 概述 缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入 或者输出的数…...
javaEE-03-cookie与session
文章目录 Cookie创建Cookie获取Cookie更新CookieCookie 生命控制Cookie 有效路径 Session 会话创建和获取sessionSession 域数据的存取Session 生命周期控制浏览器和 Session 之间关联 Cookie Cookie 是服务器通知客户端保存键值对的一种技术,客户端有了 Cookie 后,…...
EtherNet/IP转Profinet协议网关(经典配置案例)
怎么样才能把EtherNet/IP和Profinet网络连接起来呢?这几天有几个朋友问到了这个问题,作者在这里统一为大家详细说明一下。其实有一个设备可以很轻松地解决这个问题,名为JM-PN-EIP,下面是详细介绍。 一,设备主要功能 1、捷米特J…...
华为云依赖引入错误
问题:记录一次项目加在华为云依赖错误,如下: 错误信息:Could not find artifact com.huawei.storage:esdk-obs-java:pom:3.1.2.1 in bintray-qcloud-maven-repo (https://dl.bintray.com/qcloud/maven-repo/) 找到本地仓库&#…...
【Ubuntu】Ubuntu 配置镜像源(ARM)
【Ubuntu】Ubuntu 配置镜像源(ARM) 零、起因 最近在QEMU中安装了个ubuntu-24.04-live-server-arm64,默认是国外的软件源,很慢,故替换到国内。 壹、替换 源地址(清华源) https://mirror.tun…...
速腾聚创激光雷达复现FAST-LIO
目录 1.软件环境 2.测试执行 3.代码学习 3.1.找主节点代码文件 3.2.整体流程结构 3.3.具体函数理解 记录复现FAST-LIO算法的过程和,代码梳理和理解 1.软件环境 Windows 10(64bits) VMware 16 Pro Ubuntu 20.04 ROS Noetic FAST-LIO的简化版、注释版。感谢…...
k8s核心知识总结
写在前面 时间一下子到了7月份尾;整个7月份都乱糟糟的,不管怎么样,日子还是得过啊, 1、7月份核心了解个关于k8s,iceberg等相关技术,了解了相关的基础逻辑,虽然和数开主线有点偏,但是…...
语言模型及数据集
一、定义 1、语言模型的目标是估计序列的联合概率,一个理想的语言模型就能够基于模型本身生成自然文本。 2、对一个文档(词元)序列进行建模, 假设在单词级别对文本数据进行词元化。 3、计数建模 (1)其中…...
linux如何卸载python3.5
卸载: 1、卸载python3.5 sudo apt-get remove python3.5 2、卸载python3.5及其依赖 sudo apt-get remove --auto-remove python3.5 3、清除python3.5 sudo apt-get purge python3.5 或者 sudo apt-get purge --auto-remove python3.5...
【BUG】已解决:TypeError: expected string or bytes-like object
TypeError: expected string or bytes-like object 目录 TypeError: expected string or bytes-like object 【常见模块错误】 【解决方案】 常见原因及解决方法 示例代码 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰…...
在linux上面用drissionpage自动化遇到反爬?
目录 一、反爬内容1、案例12、案例2 二、后来发现的问题解决 一、反爬内容 1、案例1 反爬的响应文本返回如下:爬虫均能精准识别,测试链接:https://ziyuan.baidu.com/crawltools/index)非正常爬虫访问时:返回的压缩报文内容无法直接识别,可一定程度上保护站点信息安…...
vue3大事件管理系统 === 首页 layout 文章分类页面 -
目录 首页 layout 架子 [element-plus 菜单] 基本架子拆解 登录访问拦截 用户基本信息获取&渲染 退出功能 [element-plus 确认框] 文章分类页面 - [element-plus 表格] 基本架子 - PageContainer 文章分类渲染 封装API - 请求获取表格数据 el-table 表格动态渲染 …...
堆的基本实现
一、堆的概念 在提出堆的概念之前,首先要了解二叉树的基本概念 一颗二叉树是节点的有限集合,该集合: 1、或者为空; 2、或者由一个根节点加上两颗分别称为左子树和右子树的两颗子树构成; 堆就是一颗完全二叉树&…...
Ubuntu上编译多个版本的frida
准备工作 Ubuntu20(WSL) 略 安装依赖 sudo apt update sudo apt-get install build-essential git lib32stdc-9-dev libc6-dev-i386 -y nodejs 去官网[1]下载nodejs,版本的话我就选的20.15.1: tar -xf node-v20.15.1-linux-x64.tar.xz 下载源码 …...
概率论三大分布
目录 基本概念 卡方分布(χ分布): t分布: F分布: 延伸 卡方分布在哪些具体情况下最适合用于数据分析? t分布在大样本情况下的表现与正态分布相比如何? F分布在进行方差比较时与t分布的区…...
Spring系统学习-基于XML的声明式事务
基本概念 在Spring框架中,基于XML的事务管理是一种通过XML配置文件来管理事务的方式。Spring提供了强大的事务管理功能,可以与多种持久化技术(如JDBC、Hibernate、JPA等)结合使用。以下是如何在Spring中使用基于XML的事务管理的基…...
iOS中的MVVM设计模式
目录 前言 一、MVVM简介 二、MVVM的核心思想 三、MVVM的优势 四、MVVM在iOS中的实现 1. 创建Model 2. 创建ViewModel 3. 创建View 4. 主入口 总结 前言 随着iOS开发的发展,构建可维护和可扩展的代码架构变得至关重要。Model-View-ViewModel (MVVM) 是一种…...
ES中的数据类型学习之ARRAY
Arrays | Elasticsearch Guide [7.17] | Elastic 中文翻译 :Array Elasticsearch 5.4 中文文档 看云 Arrays In Elasticsearch, there is no dedicated array data type. Any field can contain zero or more values by default, however, all values in the a…...
vue网络请求
post网络请求 import axios from axios import {ElMessage, ElLoading} from "element-plus" import { nextTick } from "vue" import JSONbig from json-bigint import { userToken } from "/constants/Constant.js";const defaultConfig {bas…...
IAR 9.1 版本创建 STM32F1 工程全解析(V3.6.0标准外设库)
一:前言 之前一直用的KEIL MDK 编译ST工程,最近开始学习用IAR搭建工程:先是不知道官网下载的V3.6.0标准外设库,里面的文件该怎么挑、怎么放;再是IAR 9.1版本和网上低版本教程不兼容,一编译就报Pe147错误&a…...
Hindley-Milner类型签名详解:mostly-adequate-guide-chinese的函数式编程类型系统
Hindley-Milner类型签名详解:mostly-adequate-guide-chinese的函数式编程类型系统 【免费下载链接】mostly-adequate-guide-chinese 函数式编程指南中文版 项目地址: https://gitcode.com/gh_mirrors/mo/mostly-adequate-guide-chinese 在函数式编程中&#…...
【教学类-160-02】20260409 AI视频培训-练习2“豆包AI视频《小班-抢玩具》+豆包图片风格:手办”
背景需求: 【教学类-160-01】20260408 AI视频培训-练习1“豆包AI视频”https://mp.csdn.net/mp_blog/creation/editor/159965108 不是前面孩子的衣服了,从两女变成一男一女了 详细的人物特征描述(衣服颜色等)控制人物尽量相似。 …...
AI写论文哪家强?这4款AI论文生成工具测评结果告诉你答案!
你是否还在为撰写期刊论文、毕业论文或职称论文而感到焦虑呢?在进行人工撰写时,面对海量的文献就像在浩瀚的大海中捞针,而繁琐的格式要求更是让人头疼,反复修改的过程常常让我们的耐心耗尽,低效率的写作成为众多学术研…...
OpenClaw+Phi-3-mini-128k-instruct内容处理:从爬虫到发布的自动化流水线
OpenClawPhi-3-mini-128k-instruct内容处理:从爬虫到发布的自动化流水线 1. 为什么需要内容处理自动化 作为一个技术博主,我每天需要处理大量信息:从技术社区抓取最新动态、整理成可读性强的文章、再发布到多个平台。这个过程耗时费力&…...
直播运营需要哪些数据分析能力?场观、停留、成交和投流怎么联动分析
直播运营数据分析的核心能力直播运营需要掌握多维度的数据分析能力,以优化直播效果并提升转化率。核心能力包括数据采集、清洗、可视化、建模及解读能力。CDA数据分析师证书的课程体系涵盖了这些核心技能,为从业者提供系统化训练。能力维度具体内容CDA相…...
多租户下的ERP系统的仓储管理模块分析设计茸
springboot自动配置 自动配置了大量组件,配置信息可以在application.properties文件中修改。 当添加了特定的Starter POM后,springboot会根据类路径上的jar包来自动配置bean(比如:springboot发现类路径上的MyBatis相关类ÿ…...
React Native Safe Area Context 社区贡献:如何参与开发与提交代码
React Native Safe Area Context 社区贡献:如何参与开发与提交代码 【免费下载链接】react-native-safe-area-context A flexible way to handle safe area insets in JS. Also works on Android and Web! 项目地址: https://gitcode.com/gh_mirrors/re/react-na…...
智能营销新纪元:揭秘星图销冠系统如何用AI自动化重塑企业获客生态
在数字化转型浪潮席卷各行各业的今天,企业获客成本持续攀升,传统营销方式疲态尽显。寻找一家真正专业AI企业、服务好AI服务商,引入一套能打通公域引流与私域转化全链路的智能系统,已成为众多市场决策者的核心诉求。市场上声称能提…...
潘多拉魔盒上的封条:当AI强到连“造物主”都感到恐惧
梁敬彬梁敬弘兄弟出品 引言 2026年的春天,AI的狂飙似乎没有任何减速的迹象。各路媒体依然在为大模型跑分榜上的微小超越而摇旗呐喊,资本市场依然在为算力中心的落成而陷入狂热。在这场看似永远不会停歇的技术飙车中,几乎所有人都坚信一个朴…...
