Cookie 与 Session

文章目录

曲奇

Cookie 是浏览器 (客户端)保存 的一段小数据,每次请求都会自动带给服务端。

js 复制代码
# 浏览器发送请求:
GET /index.html HTTP/1.1
Host: www.example.com
Cookie: session_id=abc123; user=zhangsan

# 服务器响应时设置 Cookie:
Set-Cookie: session_id=abc123; Path=/; HttpOnly
  • 有过期时间
  • 最大容量约 4KB

Session

一节(会话)

Session 是服务器端存储的"用户会话状态",通常配合 Cookie 使用。

如session_id(token)

比较常用机制

技术/机制 是否持久化 存储位置 生命周期 说明
Cookie ✅ 可持久化 客户端浏览器 可设置过期时间(如30天) 是最典型的持久化机制
Session ❌ 默认不持久化(服务重启或超时清除) 服务端 默认生命周期短,通常 30 分钟 通过 session_id 关联客户端
LocalStorage ✅ 持久化 浏览器本地 永久保存,除非手动清除 不参与 HTTP 请求
SessionStorage ❌ 不持久化 浏览器本地 页面关闭就消失 和 Session 类似但在浏览器中
Redis 中的 Session ✅ 可配置持久化 服务端(Redis) 可以长时间保存,支持分布式 实现持久化登录态
数据库登录状态(如 JWT) ✅ 可持久化 客户端 + 服务端 通常由服务端设置 token 过期时间 可做无状态认证
相关推荐
曲幽21 小时前
JavaScript流程控制:从混乱条件到优雅遍历,一次讲清如何让代码听话
javascript·web·js·for·while·if·if else
pixcarp1 天前
Golang web工作原理详解
开发语言·后端·学习·http·golang·web
敲敲了个代码1 天前
前端指纹技术是如何实现的?(Canvas、Audio、硬件API 核心原理解密)
前端·javascript·学习·算法·面试·web
the_singular2 天前
Webhook
web
曲幽3 天前
Django入门指南:Python Web开发的“瑞士军刀”
python·django·flask·fastapi·web·pythonweb
光影少年4 天前
前端如何调用gpu渲染,提升gpu渲染
前端·aigc·web·ai编程
Sail-With-Dawn5 天前
免费网站进阶!——InfinityFree创建数据库教程
web
lkbhua莱克瓦245 天前
JavaWeb技术概述
java·javaweb·web
二哈喇子!5 天前
Java Web项目怎么创建 & 没有出现web.xml的解决方法
java·web·web.xml