什么是Cookie?
-
存储容量:一般限制在 4KB 以内。
-
数据有效期:可以设置过期时间,若未设置,则在浏览器关闭时失效。
-
数据共享 :在同一域名下,不同页面可以共享
cookie
数据。并且在每次 HTTP 请求时,cookie
会被发送到服务器端。 -
数据存储和读取 :需要手动解析和设置
document.cookie
字符串。 -
在HTTP明文传输中不够安全,容易被修改。
-
每次请求都会携带Cookie数据增加流量浪费性能。
-
示例代码:
// 存储数据
document.cookie = 'name=daxiaojiuhenpi; expires=Thu, 18 Dec 2025 12:00:00 UTC; path=/';
// 读取数据
function getCookie(name) {
const value =; ${document.cookie}
;
const parts = value.split(; ${name}=
);
if (parts.length === 2) return parts.pop().split(';').shift();
}
const name = getCookie('name');
console.log(name);

什么是Local Storage?
-
存储容量:一般为 5MB 左右,不同浏览器可能存在差异。
-
数据有效期:除非手动删除,否则数据不会过期,会一直存储在浏览器中。
-
数据共享 :在同一域名下,不同页面可以共享
localStorage
数据。 -
数据存储和读取 :使用
setItem
方法存储数据,getItem
方法读取数据。 -
不支持在不同浏览器共享数据。
-
一网站只能访问自己域下的LS。
-
示例代码:
// 存储数据
localStorage.setItem('username', '打小就很皮');
// 读取数据
const username = localStorage.getItem('username');
console.log(username);


什么是Session Storage?
-
存储容量 :与
localStorage
类似,通常为 5MB 左右。 -
数据有效期:数据仅在当前会话期间有效,当页面关闭后,数据会被清除。
-
数据共享:仅在同一窗口(或标签页)的不同页面间共享数据,不同窗口(或标签页)的数据是相互独立的。
-
数据存储和读取 :使用
setItem
方法存储数据,getItem
方法读取数据。 -
示例代码:
// 存储数据
sessionStorage.setItem('token', 'DGBjbjbg35bhjbuydsatdgry3bd8t');
// 读取数据
const token = sessionStorage.getItem('token');
console.log(token);


差异总结:不同点
Cookie | Local Storage | Session Storage | |
---|---|---|---|
存储内容是否发送到服务端 | 每请求都发回 | 只保存在本地 | |
数据存储大小 | 不超过4KB | 达到5MB | |
数据存储有效期 | 自行设置失效时间 | 永久有效 | 关闭浏览器前有效 |
作用域 | 同源同窗口都是共享 | 不同窗口不共享 |