HTTP、Cookie、Session知识小计

一、HTTP 协议核心原理

1. HTTP 是什么

HTTP 是超文本传输协议 ,是浏览器和服务器之间通信的标准规则。所有网页、接口、图片、数据传输,都基于 HTTP 完成。

2. HTTP 最重要特性:无状态

无状态 = 服务器不记住任何用户。每一次请求都是独立的,服务器不知道:

  • 是谁发的请求
  • 之前有没有发过请求
  • 有没有登录

这就是必须使用 Session 实现登录状态的根本原因。

3. GET 请求详解

作用

获取数据、查询数据

特点

  • 参数拼接在 URL 地址后面
  • 可见、不安全,不能传密码等敏感信息
  • 长度有限制(大约 2KB 以内)
  • 会被浏览器缓存、保存到历史记录
  • 幂等:多次请求结果一样
  • 适合:查图书、查列表、查购物车

4. POST 请求详解

作用

提交数据、新增、修改、删除、登录

特点

  • 参数放在请求体中,不在 URL 显示
  • 安全、隐私性强
  • 数据大小无限制
  • 不会被缓存
  • 适合:登录、加入购物车、提交表单

5. GET 与 POST 最核心区别

  • 查数据 → GET
  • 传敏感数据 / 改数据 → POST

二、会话技术:Cookie 与 Session(必考重点)

1. 为什么需要会话?

因为 HTTP 无状态,服务器无法识别用户身份。必须通过会话技术让服务器 "记住" 用户。

  • 保存在浏览器中的一小段文本数据
  • 由服务器创建,通过响应头返回给浏览器
  • 浏览器之后每次请求都会自动带上 Cookie
  • 容量小(最多几 KB)、可被用户禁用、可篡改、不安全

3. Session 原理

  • 保存在服务器内存中的对象
  • 每个用户拥有独立的 Session
  • 服务器只给浏览器一个 SESSIONID
  • 真正的用户信息(用户 ID、登录状态)存在服务器
  • 安全、可靠、不能被篡改
  • Session 依赖 Cookie 传递 SESSIONID
  • Cookie 只存 ID,Session 存真实数据
  • 关闭浏览器 → Cookie 失效 → Session 无法识别

对比:

对比维度 Cookie Session
存储位置 浏览器客户端 服务器端
存储内容 只存字符串(通常是 SESSIONID),也可直接存用户数据 存真实用户数据:用户 ID、登录状态、权限等
安全性 低:数据暴露在客户端,可被篡改、窃取 高:数据只在服务器,客户端拿不到真实信息
容量限制 约 4KB 无限制(服务器内存决定)
生命周期 可设置持久化时间,或随浏览器关闭而失效 依赖SESSIONID,默认超时 / 服务器重启后失效
依赖关系 不依赖 Session 依赖 Cookie 传递 SESSIONID
使用场景 记住登录状态(如 "记住我")、用户偏好设置 登录会话管理、用户身份识别、购物车数据
典型问题 易被篡改、窃取,不适合存敏感数据 服务器压力较大,Session 共享需要额外处理

5. 登录流程(Session 核心逻辑)

  1. 用户输入账号密码发送请求
  2. 后端校验成功
  3. 服务器创建 Session,把用户 ID存入 Session
  4. 服务器自动把 SESSIONID 写入浏览器 Cookie
  5. 后续请求浏览器自动带 SESSIONID
  6. 服务器通过 ID 找到对应用户 → 识别登录状态

6. 一句话区分

Cookie 存在浏览器,不安全;Session 存在服务器,安全。

四、Servlet 核心作用(后端控制层)

1. Servlet 是什么

运行在服务器端的 Java 程序,专门处理浏览器请求。

2. Servlet 的四大功能

  1. 接收前端请求参数
  2. 获取 Session,判断用户是否登录
  3. 调用数据库执行增删改查
  4. 返回 JSON 格式结果给前端

五、前后端交互完整流程

1. 前端做什么

  • 收集用户输入(账号、密码、图书 ID)
  • 通过 AJAX 发送请求
  • 传递参数给后端
  • 接收 JSON 结果
  • 根据状态码判断成功 / 失败
  • 弹窗提示、页面跳转、渲染列表

2. 后端做什么

  • 接收请求
  • 获取参数
  • 判断登录状态(Session)
  • 操作数据库
  • 返回固定格式 JSON(code + message)

3. 前后端交互规范

统一使用 JSON 格式。通过 code 状态码判断结果:

  • 200:成功
  • 401:未登录
  • 999 / 500:失败
相关推荐
IPdodo_25 分钟前
Codex 一直显示 Thinking 怎么办?区分任务运行、界面卡住与会话恢复
http·网络调试
上海云盾-高防顾问1 小时前
SD-WAN 跨境加速,真实日常使用体验
网络·网络安全
2401_873479401 小时前
SOC告警日志中IP归属不明怎么办?部署IP离线库三步提升响应效率
网络·网络协议·tcp/ip
Multipath7121 小时前
多链路聚合 + 宽带自组网 + 卫星便携站,构筑应急通信“铁三角”乾元通多链路聚合路由破局“三断”绝境,重构应急通信生命线
网络·5g·安全·智能路由器·实时音视频
nVisual1 小时前
机柜PDU安装位置与空间建模方案
大数据·网络·数据库·信息可视化·数据中心基础设施管理
许彰午2 小时前
09-媒体访问控制
网络
only-qi3 小时前
RAG 工作机制详解:构建高质量知识库的技术全流程
网络·人工智能·rag
Kina_C3 小时前
Apache HTTP Server 安装、配置与高级功能详解
linux·http·apache
见合八方3 小时前
【噪声系数】高偏SOA噪声系数测试方法
网络·自动化·soa·光通信·激光雷达·半导体光放大器
internet Boy4 小时前
【第一章】计算机网络概论
网络