cookie、session、localStorage 分别是什么?

本文详细比较了JavaScript中的cookiesession,localStorage,和sessionStorage,介绍了它们的存储原理、优缺点、用途以及如何操作。cookies用于短期存储,sessionStorage适合会话数据,而localStorage用于长期存储且不发送到服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cookie session 和localStorage 都是用于在Web应用程序中的数据存储的机制。

JavaScript提供了三种在客户端存储数据的机制:cookie、sessionStorage(会话存储)和localStorage(本地存储)。都是浏览器的本地存储,每一种都有优点和缺点

什么是Cookie?

Cookie是一种存储在用户计算机的小型文本文件,由服务器发送到浏览器(客户端),然后每次向该服务器发送请求时都会携带回去。它通常用于在浏览器和服务器之间存储有限的数据。

特点:

  1. 优点:Cookie通常有过期的时间,跨不同的会话(浏览器)保持状态。
  2. 缺点:它们是有限制的,每个域名下的浏览器对Cookies数量和大小有一定的限制。

用途: 常见用途就是用户身份验证、跟踪会话状态、购物车保存

什么是Session?

Session通常指的是服务端技术,用于跟踪和管理与特定用户或客户端的交互状态。会话的主要目的是在用户访问网站时保持用户的状态和数据,Session(会话)数据通常存储在服务器端,以确保安全性和数据的持久性。

特点:

1.优点:安全性强。

2.缺点:seesion会在一段时间内保存在服务器上。当访问增多时,服务器性能方面可以使用cookie

sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存

什么是localStorage ?

是一种webStorage,允许JS直接在浏览器中访问和存储数据。
1.访问当前域名下的本地Storage对象,创建一个新数据对象


localStorage.setItem('key', 'value');

2.读取


localStorage.getItem('key');

3.删除


localStorage.removeItem('key');

什么是sessionStorage?

是一种webStorage,允许你访问一个,对应当前源的session storage对象。不同之处在于localStorage里面存储的数据没有过期的时间限制,而sessionStorage里面的数据会在会话结束时清除。

// 保存数据到 sessionStorage
sessionStorage.setItem("key", "value");

// 从 sessionStorage 获取数据
let data = sessionStorage.getItem("key");

// 从 sessionStorage 删除保存的数据
sessionStorage.removeItem("key");

// 从 sessionStorage 删除所有保存的数据
sessionStorage.clear();

Local Storage, Session Storage, and Cookies的区别

Local StorageSession StorageCookie
存储10MB的数据存储10MB的数据限制为 4KB 数据。
关闭浏览器时,存储的数据不会被删除。数据仅在会话期间存储,并且在浏览器关闭时将被删除。数据可以设置为在某个时间过期。
localStorage对于存储用户稍后要访问的数据非常有用,相当于离线数据sessionStorage是提高web应用程序性能的好方法cookie是存储不应该长期保留的数据的不错选择
这对于存储即将用户关闭浏览器也要保留的数据特别有用sessionStorage是对存储敏感数据非常有用(登录凭证)Cookie通常适用于不敏感的数据,例如用户的偏好
localStorage是html5新引入的功能sessionStorage是html5新引入的功能cookie是最古老最著名的机制
数据不发送到服务器数据不发送到服务器数据随客户端的请求发送到服务器
数据存储在浏览器和系统上数据仅存储在浏览器上数据仅存储在浏览器上
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值