网络协议中的状态管理与客户端 - 服务器架构解析
1. 会话与状态管理基础
当每个会话启动时,会被分配一个唯一的 ID。这个唯一 ID 会随每个请求发送,作为指向为特定客户端分配的资源空间的键或指针,该资源空间用于维护状态。根据应用服务器的配置,会话 ID 可以作为 cookie 或 URL 参数发送。
1.1 客户端状态存储
可以在事务的客户端维护状态,这减轻了服务器维护会话的负担,但增加了客户端每个请求的负担。以无状态文件服务器为例,客户端需在每个请求中发送额外参数,如文件名、已发送文件的大小以及接下来要发送的文件部分。在 HTTP 协议中,常见的客户端状态维护方法有:
- 使用 cookie :cookie 是存储在客户端的信息片段,以简单文本文件形式存在。在 HTTP 示例中,由 Web 浏览器存储和管理。每个 cookie 有名称、过期时间、域和值。cookie 处理规则规定,只有特定域空间内的 cookie 会发送到服务器。例如,对于名为 www.apress.com 的服务器,浏览器仅发送该域内的 cookie。服务器接收 cookie 的名称和值。cookie 的优点是资源使用少、易于管理且提供清晰的状态维护接口;缺点是安全性差,因为是文本文件,任何有访问权限的人都可见,若存储敏感数据易泄露。默认情况下,cookie 在当前会话结束时过期,若设置过期日期为过去则删除,设置为未来则在会话结束或浏览器关闭时从内存写入磁盘。
- 使用隐藏表单变量 :HTML 表单的 type 参数可设为 “hidden”,示例代码如下:
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



