JavaScript中的cookie、localStorage的区别和特点

在JavaScript中,cookielocalStorage都是用于在客户端存储数据的方法,但它们有一些重要的区别和特点。

Cookie

特点:

  1. 存储量小:每个域名下的cookie数量是有限制的,并且每个cookie的大小也是有限制的。一般来说,大多数浏览器允许每个域名下最多存储20个cookie,每个cookie的大小约为4KB。
  2. 随HTTP请求发送:每次HTTP请求都会携带cookie,这可能会影响性能。
  3. 有过期时间:cookie可以设置过期时间,当超过这个时间后,cookie会自动被删除。
  4. 路径限制:cookie只能在设置它的路径下有效。

代码示例:

// 设置cookie
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2023 12:00:00 UTC; path=/";// 读取cookie
var x = document.cookie;// 删除cookie
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";

localStorage

特点:

  1. 存储量大:localStorage的存储量比cookie大得多,一般来说,大多数浏览器的localStorage限制在5MB左右。
  2. 不会自动发送:localStorage的数据不会随着HTTP请求一起发送,所以不会影响性能。
  3. 没有过期时间:localStorage的数据没有过期时间,除非用户清除浏览器数据或者使用JavaScript代码删除。
  4. 没有路径限制:localStorage在整个域名下都是有效的。

代码示例:

// 设置localStorage
localStorage.setItem("lastname", "Smith");// 读取localStorage
var lastname = localStorage.getItem("lastname");// 删除localStorage
localStorage.removeItem("lastname");// 清除所有localStorage
localStorage.clear();

总结

cookielocalStorage都有各自的优点和缺点,具体使用哪种方法取决于你的需求。如果你需要存储的数据量不大,并且需要随着HTTP请求一起发送,那么cookie可能是一个好的选择。如果你需要存储大量数据,并且这些数据不需要随着HTTP请求一起发送,那么localStorage可能是一个更好的选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/816996.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

精确号码比例放通算法的设计与实现

精确号码比例放通算法的设计与实现 引言背景问题定义算法设计1. 数据结构2. 算法流程3. 伪代码4. C语言实现 结论参考文献 引言 随着通信技术的飞速发展,呼叫中心和电信运营商面临着日益增长的呼叫管理需求。在某些情况下,为了确保服务质量或者遵守特定…

LeetCode题练习与总结:加一--66

一、题目描述 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入&…

浏览器从输入url到渲染的过程

URL 解析: 当用户在浏览器地址栏输入 URL 时,浏览器会首先对 URL 进行解析。这个过程包括解析协议(如 HTTP、HTTPS)、域名、端口号和路径等信息。 DNS 解析: 把从输入的URL中解析出的域名发送给 DNS 服务器进行解析&a…

方案分享 | 嵌入式指纹方案

随着智能设备的持续发展,指纹识别技术成为了现在智能终端市场和移动支付市场中占有率最高的生物识别技术。凭借高识别率、短耗时等优势,被广泛地运用在智能门锁、智能手机、智能家居等设备上。 我们推荐的品牌早已在2015年进入指纹识别应用领域&#xff…

[dvwa] sql injection

sql injection 0x01 low sql语句没有过滤 经典注入,通过逻辑or为真相当于select * from users where true,99换成1也成 用union select 对齐列数,查看数据库信息 1’ union select 1,2# order by探测对齐列数更方便 1’ or 11 order b…

Python数据挖掘项目开发实战:处理作者归属问题

注意:本文下载的资源,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 Python数据挖掘项目开发实战:处理作者归属问题 一、项目背景与目标 在出版、科研等领域,确定…

05.MySQL索引事务

1. 索引 1.1 概念 索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。 可以对表中的一列或多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现 1.2 作用 数据库中的表、数据、索引之间的关系,类似于书架上的…

Spring AI 应用 - 智能记者

参考实现: https://github.com/mshumer/ai-journalist 上面是通过 Claude 配合 SERP 搜索 API,使用 Python 语言实现的,本文通过 GitHub Copilot 辅助改为了基于 Spring AI 的 Java 版本,本文使用的 OpenAI。 AIJournalist 实现…

Tomcat源码解析——源码环境搭建

一、源码下载 在进行源码阅读前,先下载源码包,这样便于做笔记和debug。 我所用的版本是Tomcat7.0.68, Tomcat7.0.68下载地址:Index of /dist/tomcat/tomcat-7/v7.0.68/src 所有Tomcat的源码包下载地址:Index of /dist/…

第6章:6.4.2 案例二:爬取成语网站数据 (MATLAB入门课程)

讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili 本案例用到的网址为:成语大全列表成语大全列表https…

FFmpeg:自实现ijkplayer播放器--11音视频同步

文章目录 音视频同步时钟结构时间api实现过程音视频同步 音视频同步采用以音频为基准的方式,使用时间轴作为参考 如部分音频数据解不出来时,计算音频的pts(时间戳)与时间轴的差值,视频时间为差值加上时间轴,使得时间戳和音频一样 时间轴统是通过av_gettime_relative()获取…

c语言如何理解指针的指针?

1.啥叫指针? 在C语言中,指针是一个非常重要的概念。指针本质上是一个变量,它的值不是数据本身,而是存储数据的内存地址。指针允许程序直接访问和操作内存中的数据,这在很多情况下非常有用,比如在处理数组、…

NSA发布《在数据支柱中推进零信任成熟度》报告

4月9日,美国国家安全局(NSA)发布了题为《在数据支柱中推进零信任成熟度》的报告,旨在于数据安全层面提供指导,以增强数据整体安全性并保护静态和传输中的数据。(如下图) 一、主要内容 报告中的建议侧重于将…

企业电子招标采购系统源码之从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理

功能描述 1、门户管理:所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含:招标公告、非招标公告、系统通知、政策法规。 2、立项管理:企业用户可对需要采购的项目进行立项申请,并提交审批,查看所…

ChatGPT在线网页版

ChatGPT镜像 今天在知乎看到一个问题:“平民不参与内测的话没有账号还有机会使用ChatGPT吗?” 从去年GPT大火到现在,关于GPT的消息铺天盖地,真要有心想要去用,途径很多,别的不说,国内GPT的镜像…

AcWing 897 最长公共子序列

给定两个长度分别为 NN 和 MM 的字符串 AA 和 BB,求既是 AA 的子序列又是 BB 的子序列的字符串长度最长是多少。 输入格式 第一行包含两个整数 NN 和 MM。 第二行包含一个长度为 NN 的字符串,表示字符串 AA。 第三行包含一个长度为 MM 的字符串&…

Linux:Redis7.2.4的源码包部署(2)

本章使用的是centos9进行部署 1.获取rpm安装包 Index of /releases/ (redis.io)https://download.redis.io/releases/这个网站有历史的版本,我这里使用的是最新版7.2.4进行安装 点击即可进行下载 方进Linux中,如果你的Linux中可以直接使用wget去下载 2…

SQLite、MySQL 和 PostgreSQL 数据库速度比较(本文阐述时间很早比较,不具有最新参考性)(二十五)

返回:SQLite—系列文章目录 上一篇:用于 SQLite 的异步 I/O 模块(二十四) 下一篇:SQLite—系列文章目录 注意:本文档非常非常旧。它描述了速度比较 SQLite、MySQL 和 PostgreSQL 的古老版本。 这里…

系统架构最佳实践 -- 供应链系统架构

供应链系统是现代企业管理中不可或缺的一部分,它涉及到从原材料采购到产品销售的整个生产流程。一个高效的供应链系统可以帮助企业实现成本控制、库存优化和客户满意度提升等目标。在本文中,我们将讨论供应链系统的设计与实践。 一、供应链系统设计 业务…

程序员与资产的关系

资产最直接且有效的获取方式通常是通过购买。然而,优质的资产并不总是在市场上出售,即便有,我们也可能负担不起。 除了购买,其实还有一种逐渐被人遗忘的方式——那就是直接“创造资产”。对于许多传统行业的从业者来说&#xff0…