Шрифт:
20.2.1. Атрибуты cookie: срок хранения и область видимости
Помимо имени и значения каждый cookie имеет необязательные атрибуты, управляющие сроком его хранения и областью видимости. По умолчанию cookies являются временными - их значения сохраняются на период сеанса веб-броузера и теряются при закрытии броузера. Обратите внимание, что этот срок хранения не совпадает со сроком хранения данных в
Видимость cookie ограничивается происхождением документа, как и при использовании хранилищ
Этого правила видимости, принятого по умолчанию, обычно вполне достаточно. Тем не менее иногда значения cookie требуется использовать на всем многостраничном веб-сайте независимо от того, какая страница создала cookie. Например, если пользователь ввел свой адрес в форму на одной странице, целесообразно было бы сохранить этот адрес как адрес по умолчанию. Тогда этим адресом можно будет воспользоваться при следующем посещении тем же пользователем этой страницы, а также при заполнении им совершенно другой формы на любой другой странице, где требуется ввести адрес, например для выставления счета. Для этого в cookie можно определить атрибут
Установка атрибута
По умолчанию cookies доступны только страницам с общим происхождением. Однако большим веб-сайтам может потребоваться возможность совместного использования cookies несколькими поддоменами. Например, серверу order.examp-le.com может потребоваться прочитать значения cookie, установленного сервером
catalog.example.com. В этой ситуации поможет атрибут domain. Если cookie, созданный страницей с сервера catalog.example.com, имеет в атрибуте path значение «/», а В атрибуте domain - значение «.example.com», этот cookie будет доступен всем веб-страницам в поддоменах catalog.example.com, orders.example.com и в любых других поддоменах в домене example.com. Если атрибут domain не установлен, его значением по умолчанию будет имя веб-сервера, на котором находится страница. Обратите внимание, что в атрибут domain нельзя записать значение, отличающееся от домена вашего сервера.
Последний атрибут cookie - это логический атрибут с именем secure, определяющий, как значения cookie передаются по сети. По умолчанию cookie не защищен, т.е. передается по обычному незащищенному HTTP-соединению. Однако если cookie помечен как защищенный, он передается, только когда обмен между броузером и сервером организован по протоколу HTTPS или другому защищенному протоколу.
20.2.2. Сохранение cookies
Чтобы связать временное значение cookie с текущим документом, достаточно присвоить его свойству
Например:
При следующем чтении свойства
Записанный таким способом cookie сохраняется в течение сеанса работы веб-броузера, но теряется при его закрытии пользователем. Чтобы создать cookie, сохраняющийся между сеансами броузера, необходимо указать срок его хранения (в секундах) с помощью атрибута
Следующая функция устанавливает cookie с дополнительным атрибутом