千家信息网

cookie、sessionstorage和localstorage数据存储的差异是什么

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,本文小编为大家详细介绍"cookie、sessionstorage和localstorage数据存储的差异是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"cookie、sessionstorag
千家信息网最后更新 2025年02月05日cookie、sessionstorage和localstorage数据存储的差异是什么

本文小编为大家详细介绍"cookie、sessionstorage和localstorage数据存储的差异是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"cookie、sessionstorage和localstorage数据存储的差异是什么"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

一、通常我们在存储数据的方式有三种

cookie sessionstorage localstorage ,那么这三种数据的存储又有什么关系呢?让我们一起来看看吧

cookie:保存cookie值:

var dataCookie='110';    [xss_clean] = 'token' + "=" +dataCookie;

获取指定名称的cookie值:

function getCookie(name) { //获取指定名称的cookie值// (^| )name=([^;]*)(;|$),match[0]为与整个正则表达式匹配的字符串,match[i]为正则表达式捕获数组相匹配的数组;var arr = [xss_clean].match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));if(arr != null) {  console.log(arr);  return unescape(arr[2]);}return null;} var cookieData=getCookie('token'); //cookie赋值给变量。

设置cookie过期时间:

function setTime() {//存储cookie值并且设置cookie过期时间var date=new Date();var expiresDays=10;//设置十天过期date.setTime(date.getTime()+expiresDays*24*3600*1000);[xss_clean]="userId=828; expires="+date.toGMTString();console.log([xss_clean],'存储cookie值并且设置cookie过期时间');}

删除cookie:

function delCookie(cookieName1) {//删除cookievar date2=new Date();date2.setTime(date2.getTime()-10001);//把时间设置为过去的时间,会自动删除[xss_clean]= cookieName1+"=v; expires="+date2.toGMTString();console.log([xss_clean],'删除cookie');}delCookie('userId');

localStorage和sessionStorage:localStorage和sessionStorage所使用的方法是一样的,下面以sessionStorage为栗子:

var name='sessionData';var num=120;sessionStorage.setItem(name,num);//存储数据sessionStorage.setItem('value2',119);let dataAll=sessionStorage.valueOf();//获取全部数据console.log(dataAll,'获取全部数据');var dataSession=sessionStorage.getItem(name);//获取指定键名数据var dataSession2=sessionStorage.sessionData;//sessionStorage是js对象,也可以使用key的方式来获取值 console.log(dataSession,dataSession2,'获取指定键名数据'); sessionStorage.removeItem(name); //删除指定键名数据 console.log(dataAll,'获取全部数据1'); sessionStorage.clear();//清空缓存数据:localStorage.clear(); console.log(dataAll,'获取全部数据2');

三者的异同:

上面的使用方式说好了,下面就唠唠三者之间的区别,这个问题其实很多大厂面试的时候也都会问到,所以可以注意一下这几个之间的区别。

生命周期:

cookie:可设置失效时间,没有设置的话,默认是关闭浏览器后失效

localStorage:除非被手动清除,否则将会永久保存。

sessionStorage: 仅在当前网页会话下有效,关闭页面或浏览器后就会被清除。

存放数据大小:

cookie:4KB左右

localStorage和sessionStorage:可以保存5MB的信息。

http请求:

cookie:每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题

localStorage和sessionStorage:仅在客户端(即浏览器)中保存,不参与和服务器的通信

易用性:

cookie:需要程序员自己封装,源生的Cookie接口不友好

localStorage和sessionStorage:源生接口可以接受,亦可再次封装来对Object和Array有更好的支持

应用场景:

从安全性来说,因为每次http请求都会携带cookie信息,这样无形中浪费了带宽,所以cookie应该尽可能少的使用,另外cookie还需要指定作用域,不可以跨域调用,限制比较多。但是用来识别用户登录来说,cookie还是比stprage更好用的。其他情况下,可以使用storage,就用storage。

storage在存储数据的大小上面秒杀了cookie,现在基本上很少使用cookie了,因为更大总是更好的,哈哈哈你们懂得。

localStorage和sessionStorage唯一的差别一个是永久保存在浏览器里面,一个是关闭网页就清除了信息。localStorage可以用来夸页面传递参数,sessionStorage用来保存一些临时的数据,防止用户刷新页面之后丢失了一些参数。

浏览器支持情况:

localStorage和sessionStorage是html5才应用的新特性,可能有些浏览器并不支持,这里要注意。

cookie的浏览器支持没有找到,可以通过下面这段代码来判断所使用的浏览器是否支持cookie:

if(navigator.cookieEnabled) {  alert("你的浏览器支持cookie功能");//提示浏览器支持cookie  } else {  alert("你的浏览器不支持cookie");//提示浏览器不支持cookie   }

复制代码数据存放处:Cookie、localStorage、sessionStorage数据存放处

番外:各浏览器Cookie大小、个数限制。

读到这里,这篇"cookie、sessionstorage和localstorage数据存储的差异是什么"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

数据 浏览器 浏览 存储 支持 时间 差异 信息 大小 文章 方式 页面 之间 代码 内容 参数 名称 情况 接口 数组 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 服务器威胁安全 陕西语音网络技术服务设计 包头php软件开发公司 软件开发技术从事什么工作的 长沙分仓系统股票软件开发 幼儿要学习的网络安全知识 无锡综合软件开发活动方案 Dm6数据库停止当前执行sql 手机软件开发的课程 拒不履行网络安全监管义务 关于网络安全意识的黑板报 珠海无纸化会议管理服务器厂商 软件开发小程序的好坏 数据库管理工具mi 电脑安装数据库提示不兼容 内蒙古网络安全行业协会会长 我的世界2022年最好的服务器 局域网入侵服务器 租房管理显示服务器忙 北京时间 同步服务器 广西开挂软件开发 软件开发专业的证书 软件开发技术从事什么工作的 数据库管理工程师证书工信部 阜阳点餐系统软件开发费用 海南差分服务器虚拟主机 roa在国泰安数据库哪里 ff14 服务器列表 国家网络安全总体规划 加入我的世界服务器管理员
0