cookie,localstorage,sessionstorage的区别

news/2024/10/23 9:36:08/

1.基本属性:

cookie: 可设置失效时间,没有设置的话,默认是关闭浏览器后失效,主要用来保存登录信息
localStorage: 除非被手动清除,否则将会永久保存。
sessionStorage: 仅在当前网页会话下有效,关闭页面或浏览器后就会被清除。同源不共享。刷新页面数据依旧存在。但是页面关闭时,sessionStorage中的数据就会被清空

2.内存大小:

cookie: 4KB 左右 localStorage
localStorage:5M甚至更多
sessionStorage: 可以保存 5MB 的信息

3.缺点:

cookie: 每次都会携带在 HTTP 头中,如果使用cookie 保存过多- 数据会带来性能问题
localStorage 和 sessionStorage: 仅在客户端 (即浏览器) 中保存,不参与和服务器的通信

4.构成:

token 的组成: uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,token
的前几位以哈希算法压缩成的一定长度的十六进制字符串)
特点:服务端无状态化、可扩展性好支持移动端设备.安全.支持跨程序调用
每一次请求都需要携带 token,需要把 token 放到 HTTP 的 Header 里
基于 token 的用户认证是一种服务端无状态的认证方式,服务端不用存放 token 数据。用解析
token 的计算时间换取 session 的存储空间,从而减轻服务器的压力,减少频繁的查询数据库

token 完全由应用管理,所以它可以避开同源策略

5.作用域:

cookie:在所有同源窗口中都是共享的
sessionStorage:在同一个浏览器窗口是共享的(不同浏览器,即使是统一页面也不共享)
localStorage:在所有同源窗口中共享

应用场景

cookie:判断用户是否登录过网站,以便实现下次自动登录或记住密码;保存事件信息

sessionStorage:敏感账号一次性登录,单页面用的较多

localStorage:用于长期登录,适于长期保存在本地的数据

同源策略请求

同源:协议相同/域名相同/端口相同
非同源策略请求:跨域问题


http://www.ppmy.cn/news/87048.html

相关文章

windows自动保存git密码

Windows平台在使用Git的时候经常会出现反复输入密码,生成密钥对的时候如果设置了密码,那么每次使用时都会要求输入密码,那可以通过下面的方式解决。 1. 配置ssh自动启动 管理员启动终端 Set-Service ssh-agent -StartupType Auto # 设置为…

ARM Cortex-M的栈结构及回溯

1. 概述 最近在研究ARM Cortex-M系列的单片机的栈结构及栈回溯。研究这个有什么用呢?有以下几个方面: 深入了解处理器指令、程序运行的原理等知识,对程序设计技能的提高有一定的帮助。当你的程序出现问题了,可以根据栈数据找到出…

得到前沿课·吴军讲GPT

第1讲 计算机回答问题、写诗难吗? ChatGPT是基于语言模型的自然语言处理系统。让计算机回答问题并不是一件高不可攀的事情,在今天,让它做得比人好是完全能够办得到的。我们让ChatGPT做的事情,核心有两个,一个是理解自…

超大规模数据库集群保稳系列之二:数据库攻防演练建设实践

总第562篇 2023年 第014篇 本文整理自美团技术沙龙第75期的主题分享《美团数据库攻防演练建设实践》,系超大规模数据库集群保稳系列(内含4个议题的PPT及视频)的第2篇文章。 本文首先介绍了美团当前数据库运维现状、遇到的问题,以及…

12. InnoDB引擎底层存储和缓存原理

MySQL性能调优 1. InnoDB记录存储结构和索引页结构1.1 行格式1.1.1 COMPACT1.1.2 Redundant行格式1.1.3 Dynamic和Compressed行格式1.1.4 数据溢出 1.2 索引页格式1.2.1 File Header1.2.2 Page Header1.2.3 Infimum Supremum1.2.4 User Records和Free Space1.2.5 Page Directo…

单点登录一:springboot项目使用redis、springSecurity、jwt实现单点登录的demo

1、jwt原理 JWT(JSON Web Token)是一种用于身份验证和授权的开放标准(RFC 7519)。它是一种轻量级的令牌格式,用于在网络应用间传输声明(claims)。JWT使用JSON对象来编码声明,并使用…

从价值交付的角度做 MVPU 拆分

1、商业价值的视角 这个项目能为企业带来哪些重要的商业价值呢?度量这个商业价值的核心指标是什么?比如一个大促项目,比较重要的指标有 GMV、总订单数、总成交客户数、首次下单客户数、超过一定体量的成交商家数等。 2、用户价值的视角 这…