|
аких
как программы CGI или приложения ISAPI. Для этого на сервере Web должна быть
установлена база данных, хранящая настройки для всех зарегистрированных в ней
пользователей.
В этом случае расширение сервера Web может динамически создавать
настраиваемые документы HTML, используя для определения внешнего вида страниц
параметры, хранящиеся в базе данных.
Наличие базы данных настройки пользователей усложняет сопровождение сервера
Web, и потому неприемлемо во многих случаях. Например, если ваш сервер Web
виртуальный и расположен на дисках сервера какого-либо провайдера Internet,
создание базы данных может превратиться в трудно преодолимую проблему.
Возлагая на пользовательский браузер задачу хранения настроек отдельных
документов HTML, вы сильно упрощаете задачу организации настройки диалогового
интерфейса. А для этого как раз нужны cookie и сценарии JavaScript.
Еще одно практическое применение cookie - хранение товара, выбранное
посетителем вашего сервера Web, выполняющего роль виртуального магазина.
Покупатель может выбирать разный товар на разных страницах сервера, при этом
полный заказ может вначале быть сформирован и сохранен в cookie, а затем по
явному запросу пользователя отправлен на сервер.
Среди других применений cookie можно отметить сетевые игры. Вы можете,
например, хранить в cookie текущее состояние игры или другие параметры.
Выполнение основных операций с cookie
Рассмотрим основные операции с cookie, такие как создание cookie, получение
и изменение значений параметров cookies, а также удаление cookie.
Создание cookie
Существуют два способа создание cookie, первый из которых используется
расширениями сервера Web, а второй - сценариями JavaScript. Мы рассмотрим оба
этих способа.
Первый способ: создание cookie расширением сервера Web
Для того чтобы создать cookie первым способом, расширение сервера Web обычно
добавляет в заголовок HTTP динамически создаваемого документа HTML поле с
именем Set-Cookie. В этом поле определяются имена и значения параметров cookie.
Когда расширение сервера Web вызывается из документа HTML, имеющего cookie,
параметры cookie предаются этому расширению через поле Cookie заголовка HTTP и
могут быть проанализированы.
Заголовок HTTP, предназначенный для создания cookie, выглядит следующим
образом:
Set-Cookie: Имя=Значение; expires=Дата_GMT;
path=Адрес_URL; domain=Домен; secure
Описание отдельных полей заголовка Set-Cookie приведено ниже:
ПолеОписаниеИмяПроизвольное имя параметра, определенного в cookie. Здесь вы
можете использовать любую строку, лишь бы в ней не было пробелов, запятых и
двоеточий. В том случае, когда имя должно содержать перечисленные выше символы,
используйте кодировку URLЗначениеТекстовая строка значений параметров. В этой
строке не должно быть пробелов, запятых и двоеточий, поэтому вы должны
использовать для нее кодировку URLexpiresДата автоматического удаления cookie
по Гринвичу. Если эта дата не указана, а параметр expires отсутствует, cookie
будет удалено сразу после того, как браузер законч
|
|