Add files via upload
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
### 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 对象
|
||||
- 这样,服务器就能识别出是哪个用户在操作,并获取其之前的状态信息(例如,用户已经登录)
|
||||
Reference in New Issue
Block a user