Проектирование Интернет приложений. Тузовский А.Ф. - 24 стр.

UptoLike

Составители: 

24
Поддержка сеансов работы пользователей
Как было отмечено ранее, HTTP является протоколом без под-
держки состояния сеанса работы. Однако часто требуется выполнять
поддержку сеанса работы, т.е. сохранять на сервере данные переданные
в одном запросе, чтобы их можно было использовать при обработке по-
следующих запросов в данном сеансе работы. Например, в web-
приложении, позволяющем выполнять выбор и покупку товаров, внача-
ле выполняется просмотр страниц каталога товаров, затем постепенно
выбираемые товары добавляются в «корзину» (ссылки на них должны
сохраняться где-то на сервере). Когда пользователь закончит выбирать
товары и перейдет к оформлению заказа и оплате, то web-приложение
должно помнить, какие товары были выбраны (помещены в «корзину»).
Для поддержки состояния между HTTP запросами необходимо
иметь некоторый способ для участников взаимодействия передавать в
HTTP запросах ссылки на информацию о состоянии сеанса работы.
Протокол HTTP/1.1 позволяет это делать с помощью куки (cookie), ра-
бота с которыми выполняется с помощью заголовков Set-Cookie и
Cookie:
Заголовок ответа Set-Cookie отправляется сервером браузеру и
в нем содержится информация о состоянии или идентификатор сеанса,
который ссылается на состояние, хранимое на стороне сервера.
Заголовок ответа Cookie передается браузером в последующих
запросах тому же самому (или связанному с ним) серверу. В нем содер-
жатся или элементы самой информации состояния или ссылки на
идентификатор сеанса, который помогает связать запросы с состоя-
нием текущего сеанса.
Серверные web-приложения могут использовать заголовок Set-
Cookie следующим образом:
Set-Cookie: <имя>=<значение>
[; Max- Age=<значение >] [; Expires=<дата>]
[; Path=<путь>] [; Domain=<имя домена>]
[; Secure] [; Version=<версия>]
Пара атрибут-значение, <имя>=<значение>, отправляется браузером
назад приславшему их серверу в последующих запросах. Атрибут Max-
Age задает максимальное время, в течение которого данный куки
(cookie) может использоваться секундах). Атрибут Expires представ-
ляет собой устаревший (уже не рекомендуемый) способ определения
времени жизни данного куки, путем задания даты окончания срока его
использования. Атрибуты Path и Domain задают границы применения
куки, т.е. для каких серверных доменов и URL путей должен использо-