news 2026/6/25 21:38:03

session cookie localStorage

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
session cookie localStorage

Session, Cookie, LocalStorage 和 Token 之间的联系与区别

1.Session

  • 定义:Session 是服务器端存储的一种信息,它用来记录用户与服务器的交互状态。在用户与网站进行交互时,服务器会创建一个 session 来存储用户的状态数据。Session ID 通常会被存储在 cookie 中。
  • 存储位置:存储在服务器端。
  • 生命周期:Session 生命周期是与用户的会话相关的。用户关闭浏览器时,Session 会被销毁。
  • 使用场景:用于存储敏感数据,比如用户登录后的身份验证信息、购物车内容等,适合需要保证安全的数据存储。
  • 安全性:由于存储在服务器端,安全性较高,但需要通过加密等方式确保 Session ID 的安全传输。

2.Cookie

  • 定义:Cookie 是由服务器发送并存储在浏览器端的小文件,用于存储一些简单的信息,如用户偏好、登录状态、追踪用户行为等。
  • 存储位置:存储在浏览器端。
  • 生命周期:Cookie 可以设置过期时间,也可以设置为会话 Cookie(当浏览器关闭时删除)。持久化 Cookie 会根据设置的过期时间存储。
  • 使用场景:用于存储非敏感的用户数据,例如用户语言偏好、登录状态、分析数据等。常用于跨会话保持用户登录。
  • 安全性:由于存储在浏览器端,容易受到 XSS 攻击,存储敏感信息时需要进行加密。

3.LocalStorage

  • 定义:LocalStorage 是 HTML5 提供的一种本地存储机制,用于在客户端存储较大容量的数据,数据在浏览器关闭后不会被清除,除非用户手动清除。
  • 存储位置:存储在浏览器端。
  • 生命周期:数据永久存储,除非手动删除或者通过 JavaScript 删除。
  • 使用场景:用于存储较大的数据,如用户偏好设置、浏览器缓存等。适用于不需要传输到服务器的数据。
  • 安全性:LocalStorage 数据存储在浏览器中,可以通过 JS 脚本进行访问。如果没有适当的安全措施(例如防止 XSS 攻击),可能会暴露敏感信息。

4.Token

  • 定义:Token(令牌)是一种用于身份验证的数字字符串,通常由服务器生成并发送给客户端。在客户端的每次请求中,Token 会作为身份验证凭证一起发送给服务器。常见的身份验证方式包括JWT(JSON Web Token)
  • 存储位置:可以存储在CookieLocalStorageSessionStorage中,具体取决于安全需求。
  • 生命周期:Token 通常是持久化的,可以有固定的过期时间,或者在客户端主动注销时删除。
  • 使用场景:用于无状态身份验证,特别适用于 RESTful API 或其他客户端-服务器交互的场景。Token 不需要服务器存储用户会话信息,因此更加轻量。
  • 安全性:Token 的安全性依赖于存储和传输方式。存储在Cookie中时可以配合HttpOnlySecure属性来提高安全性,防止被 XSS 攻击。存储在LocalStorage时,则需要特别注意 XSS 攻击的风险。

5.联系与区别

特性SessionCookieLocalStorageToken
存储位置服务器端浏览器端浏览器端浏览器端(Cookie、LocalStorage 或 SessionStorage)
生命周期会话结束后消失(浏览器关闭时删除)可设置过期时间,也可以是会话 cookie持久存储,直到用户手动清除持久存储,通常有过期时间,手动清除或过期
容量限制不受浏览器限制,服务器根据需要分配存储量较小(一般为 4 KB)存储量较大(通常为 5-10 MB)存储量根据具体实现而异
安全性安全性较高(依赖于 Session ID 的保护)可能受到 XSS 攻击,但可以设置 HttpOnly 属性不加密存储,容易暴露于恶意脚本安全性依赖于存储和传输方式,使用 HTTPS 和加密时较为安全
用途存储敏感信息,确保安全的用户会话管理存储不那么敏感的数据,如用户设置、追踪信息存储大量非敏感数据,如缓存、用户偏好用于无状态身份验证,适合 API 和跨应用认证
传输存储在服务器端,不直接传输给客户端存储在客户端,随着请求一起发送到服务器存储在客户端,不随请求发送到服务器随请求一起发送到服务器(通常放在请求头中)

6.总结

  • Session:适用于需要确保数据安全性和临时性存储的场景。数据存储在服务器端,生命周期与会话绑定。
  • Cookie:适用于跨会话存储用户数据和状态,可以跨多个页面和请求使用。应注意其安全性,避免存储敏感信息。
  • LocalStorage:适用于客户端长时间存储非敏感数据,具有较大的存储容量,但没有与服务器的直接交互。
  • Token:适用于无状态的身份验证,适合 API 和跨应用认证。可以存储在CookieLocalStorageSessionStorage中,具有较强的灵活性和可扩展性。

在实际开发中,根据数据的敏感性、大小和生命周期,选择合适的存储方式。

7.为什么登录后关闭页面,再次打开不需要重新登录?

  • 原因:这种情况通常是因为浏览器中的Cookie还在。当你登录时,服务器会在响应中发送一个cookie(通常是一个 session ID 或 token),并将其存储在浏览器中。下次打开页面时,浏览器会自动将这个cookie附带在请求中发送给服务器,从而让服务器识别出你的登录状态,避免你重新登录。

具体过程:

  1. 登录时:你输入用户名和密码,成功登录后,服务器会生成一个session IDtoken,并将其作为cookie存储在你的浏览器中。
  2. 关闭页面:虽然你关闭了页面,但是cookie存储在本地(浏览器中),并没有被删除。
  3. 重新打开页面:浏览器会自动将存储的cookie发送到服务器,服务器通过识别cookie中的内容,确认你的身份,直接将你登录状态保持下来。

cookie的存储特性:

  • 会话 cookie:这种类型的 cookie 在浏览器关闭时会自动删除,适用于临时会话。
  • 持久化 cookie:如果 cookie 设置了过期时间,它会在指定的时间之前存储在浏览器中,即使浏览器关闭后也会保存,直到过期时间到达。

如果你的登录状态持续存在,说明使用的是持久化的 cookie 或者是一个长时间有效的session

需要注意:

  1. 清除浏览器 cookie:如果你清除了浏览器中的cookie,下次访问时会要求重新登录。
  2. cookie 的安全性:为了防止被窃取,cookie 通常会设置为HttpOnlySecure,保证其只能通过 HTTP 请求传递,而不能通过 JavaScript 访问。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/22 13:33:03

ResNet18微调实战:10元预算就能完成迁移学习

ResNet18微调实战:10元预算就能完成迁移学习 引言:小预算也能玩转AI模型定制 作为创业公司的技术负责人,你是否遇到过这样的困境:需要定制一个图像分类模型,但动辄上万的训练成本让人望而却步?今天我要分…

作者头像 李华
网站建设 2026/6/25 20:30:42

ResNet18半监督学习:小样本场景下的实战方案

ResNet18半监督学习:小样本场景下的实战方案 引言 在初创公司或小型团队中,我们常常面临数据量不足的困境。想象一下,你正在教小朋友认识动物,但手头只有几张猫狗的照片,这时候该怎么办?半监督学习就像一…

作者头像 李华
网站建设 2026/6/22 14:49:57

ResNet18模型轻量化指南:云端低成本完成模型压缩测试

ResNet18模型轻量化指南:云端低成本完成模型压缩测试 引言 作为一名边缘设备开发者,你是否经常遇到这样的困扰:想要优化ResNet18模型的参数量,但在本地测试不同剪枝方案时,每次训练都要耗费数小时甚至更长时间&#…

作者头像 李华
网站建设 2026/6/15 17:10:07

零代码玩转AI分类器:可视化界面+云端GPU,5分钟出结果

零代码玩转AI分类器:可视化界面云端GPU,5分钟出结果 1. 为什么你需要这个AI分类器? 作为市场专员,每天面对海量用户反馈时,你是否遇到过这些困扰: - 手工分类几百条用户留言要花大半天时间 - 想用AI工具但…

作者头像 李华
网站建设 2026/6/15 1:16:45

2025年度电商趋势报告:AI驱动、消费趋势与跨境机遇|附300+份报告PDF、数据、可视化模板汇总下载

原文链接:https://tecdat.cn/?p44767 原文出处:拓端抖音号拓端tecdat 引言 2025年,电商行业正经历一场由“流量争夺”向“价值重构”的深层变革。消费理性化与情绪需求的双重拉扯、AI技术对流量逻辑的颠覆、跨境业务的全球化布局与治理升级…

作者头像 李华
网站建设 2026/6/22 5:07:13

信息与网络安全核心速查手册:面试复习与工作自查必备基础知识集

一、概述 1.网络信息安全基本概念 信息安全:是指信息网络中的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露、否认等,系统连续可靠正常的运行,信息服务不中断。 **密码学:**…

作者头像 李华