# 简介

Zend Framework Auth 团队也非常期望大家在邮件列表中进行反馈和贡献： fw-auth@lists.zend.com

在基于 PHP 开发的 Web 应用程序中，会话(session) 代表服务器端和特定的用户代理客户端(比如 web 浏览器)之间的一对一的持久的状态数据。 `Zend_Session` 用来在由相同客户端发起的多个页面请求之间，管理和保护会话数据 。逻辑上来说，会话数据是 cookie 数据的扩展。 和 cookie 数据不同，会话数据不储存在客户端，仅当服务器端程序源代码使得会话数据可用， 才通过回应来自客户端的请求与客户端共享会话数据。在该组件及其文档中，术语“session data”代表服务器端存储在 `$_SESSION` 中的数据。该数据使用 `Zend_Session` 来管理，由 `Zend_Session_Namespace` 采用对象的方式来控制。 会话命名空间(Session Namespaces) 提供了使用经典的命名空间 方式来访问会话数据，命名空间逻辑上就是一系列被命名（键名为字符串）的联合数组（类似于普通的 PHP 数组）。

`Zend_Session_Namespace` 的实例用对象存储的方式实现了 `$_SESSION` 的命名空间。 `Zend_Session` 组件包装了PHP内置的会话模块，提供了一个管理会话的接口，也为 `Zend_Session_Namespace` 持久化命名空间数据提供了API。 `Zend_Session_Namespace` 为会话命名空间数据到PHP内部会话机制的持久化提供了一个标准的、面向对象的接口。 `Zend_Session` 支持现有无名的会话，同时也支持“登录会话”。Zend Framework 的用户验证组件 `Zend_Auth`，使用了 `Zend_Session_Namespace`，把用户的鉴别信息储存到了"Zend_Auth"命名空间下。 因为 `Zend_Session` 使用了PHP内置的会话函数，常用的配置选项和设置都仍然适用(请参考 http://www.php.net/session)。 如此，储存在cookie或者URL中的会话标识，保持了客户端与服务器端会话状态数据之间的联系。

PHP 默认的 session_save_handler 函数 没有解决当客户端连接到了集群服务器中的一些服务器的情况下，保持客户端与服务器端会话状态数据之间联系的问题， 因为会话状态数据只能储存在本地服务器当中（译注：也就是在各服务器间不能共享session数据）。 当一组附加的且合理的save handlers可用时，我们会提供它。我们鼓励社区成员在我们的邮件列表 fw-auth@lists.zend.com 中发表你的建议或者提交save handlers。 与Zend_Db兼容的save handler已经发表在邮件列表中。