### session 的工作原理

Session 的基本工作流程

Session 的核心思想是：将用户的状态信息存储在服务器端，而客户端（浏览器）只存储一个唯一标识符

1. 用户初次访问：当用户第一次访问 Web 应用时，服务器会执行以下操作：
   - 创建 Session 对象：在服务器端为这个新用户创建一个 Session 对象
   - 生成唯一标识符：为这个 Session 对象生成一个唯一的 ID，通常称为 Session ID
   - 存储状态信息：可以将用户的登录状态、购物车内容等信息存入这个 Session 对象
   - 发送 Session ID：将 Session ID 作为响应的一部分，发送给浏览器。通常，这个 Session ID 会被嵌入在 Cookie 中，名字可能类似于 `JSESSIONID`
2. 浏览器存储 Session ID：
   - 浏览器接收到服务器的响应后，会将这个包含 Session ID 的 Cookie 存储起来
3. 用户后续访问：当用户再次访问同一 Web 应用时，浏览器会自动在请求头中带上之前存储的 Session ID Cookie
4. 服务器识别用户：
   - 服务器接收到请求后，会从请求头中解析出 Session ID
   - 服务器根据这个 Session ID，在服务器端的 Session 存储中找到对应的 Session 对象
   - 这样，服务器就能识别出是哪个用户在操作，并获取其之前的状态信息（例如，用户已经登录）