<sect1 id="zend.session.introduction">

    <title>Введение</title>

    <para>
        См.
        <ulink url="http://framework.zend.com/wiki/x/iVc">
        самую последнюю опубликованную версию этого документа</ulink>.
        Приветствуются отзывы и предложения в списке рассылки <ulink url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>.
<!--
        See
        <ulink url="http://framework.zend.com/wiki/x/iVc">the most recently published version of this document</ulink>.
        Also, the Zend Framework Auth team greatly appreciates your feedback and contributions on our email list:
        <ulink url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>
-->
    </para>

    <para>
        Для веб-приложений, написанных с использованием PHP,
        <emphasis role="bold">сессия</emphasis> (session) представляет собой
        логическую связь один-к-одному между постоянными данными на стороне
        сервера и определенным агентом пользователя (т.е. веб-броузером).
        Zend_Session помогает сохранять и управлять данными сессий, являющимися
        логическоим дополнением к данным в куках (cookie), между запросами
        одного и того же клиента. В отличие от данных, сохраняемых в куках,
        данные сессий не хранятся на клиентской стороне, они становятся
        доступными клиенту только если код серверной стороны добровольно
        предоставляет эти данные в ответ на запрос клиента.
        <emphasis role="bold">Пространства имен сессий</emphasis> предоставляют
        доступ к данным сессий с использованиием классических
        <ulink url="http://en.wikipedia.org/wiki/Namespace_%28computer_science%29">пространств имен</ulink>,
        логически реализованным как именованные группы ассоциативных массивов.
<!--
        With web applications written using PHP, a <emphasis role="bold">session</emphasis> represents a logical,
        one-to-one connection between server-side, persistent state data and a particular user agent client (e.g. web
        browser). Zend_Session helps manage and preserve session data, a logical complement of cookie data, across
        multiple page requests by the same client. Unlike cookie data, session data is not stored on the client side,
        and it is only shared with the client when server-side source code voluntarily makes the data available via a
        response to a request from the client. For the purposes of this component and documentation, session data refers
        to the server-side data managed by Zend_Session. <emphasis role="bold">Session namespaces</emphasis> provide
        access to session data using classic
        <ulink url="http://en.wikipedia.org/wiki/Namespace_%28computer_science%29">namespaces</ulink>
        implemented logically as named groups of associative arrays, keyed by strings (similar to normal PHP arrays).
-->
    </para>

    <para>
        Компонента <code>Zend_Session</code> является "оберткой" к
        расширению ext/session c интерфейсом для администрирования и управления,
        а также предоставляет API для <code>Zend_Session_Namespace</code>.
        <code>Zend_Session_Namespace</code> предоставляет стандартизированный,
        объектно-ориентированный интерфейс для работы с пространствами имен,
        сохраняемыми через стандартный механизм сессий PHP. Поддерживаются как
        анонимные, так и "авторизованные" пространства имен сессий.
        <code>Zend_Auth</code>, компонента ZF для аутентификации, использует
        <code>Zend_Session_Namespace</code> для хранения информации, связанной с
        аутентифицироанными пользователями, в пространстве имен "Zend_Auth".
        Поскольку внутри себя <code>Zend_Session</code> использует обычные
        PHP-функции, предназначенные для работы со сессиями, то используются
        соответствующие опции конфигурации PHP (см.
        <ulink url="http://www.php.net/session">http://www.php.net/session</ulink>).
        Стандартный идентификатор сессии, сохраненный в куках или встроенный
        в URL, поддерживает ассоциацию между клиентом и постоянными данными
        сессии.
<!--
        The <code>Zend_Session</code> component wraps the existing PHP ext/session with an administration and management
        interface, as well as providing an API for <code>Zend_Session_Namespace</code> to persist session namespaces.
        <code>Zend_Session_Namespace</code> provides a standardized, object-oriented interface for working with
        namespaces persisted inside PHP's standard session mechanism. Support exists for both anonymous and "login"
        session namespaces. <code>Zend_Auth</code>, the authentication component of the ZF uses
        <code>Zend_Session_Namespace</code> to store some information associated with authenticated users in the
        "Zend_Auth" namespace. Since <code>Zend_Session</code> uses the normal PHP ext/session functions internally, and
        all the familiar configuration options and settings apply (see
        <ulink
      url="http://www.php.net/session">http://www.php.net/session</ulink>
        ), with the bonus of convenience through an object-oriented interface and defaults providing both best practices
        and smooth integration with Zend Framework. Thus, a standard PHP session id, stored either in a client's
        cookie or embedded in URLs, maintains the association between a client and session state data.
-->
    </para>

    <para>
        Используемый по умолчанию
        <ulink url="http://www.php.net/manual/en/function.session-set-save-handler.php">механизм хранения данных сессий</ulink>
        не решает проблему поддержки ассоциации, если клиент может соединяться с
        любым сервером в кластере серверов, поскольку постоянные данные сессии
        сохраняются только на локальном сервере. Список дополнительных
        подходящих механизмов хранения будет предоставлен позднее. Члены
        сообщества приветствуют внесение предложений по механизмам
        хранения в списке рассылки
        <ulink url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>.
        Совместимый с Zend_Db механизм хранения уже был предложен в этом списке
        рассылки.
<!--
        The default
        <ulink
      url="http://www.php.net/manual/en/function.session-set-save-handler.php">ext/session
      save handler</ulink>
        does not solve the problem of maintaining this association, when a client may connect to any sever in a cluster
        of servers, since session state data is saved to the local server only. A list of additional, appropriate save
        handlers will be provided, when available. Community members are encouraged to suggest and submit save handlers
        to the
        <ulink url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>
        list. A Zend_Db compatible save handler has been posted to the list.
-->
    </para>

</sect1>
