|
Программирование >> Руководство по созданию web приложений
70 Базы данных в . г Практическое файлов. - - Cookie пользователь может настроить, или по собственному вкусу документ HTML, если для него предус-аттрсна такая настройка. Проще всего представить себе Coolcie как набор строковых параметров, каждый из которых имеет имя и значение. Клиентский сценарий может создавать Coolcie для документа HTML, определяя в нем произвольное количество параметров и задавая для них : значения. Далее такой набор параметров становится принадлежностью данного конкретного документа HTML и может быть проанализирован, изменен или удален сценарием. Как мы уже говорили, основное, для чего нужен Coolcie, - так это для того, чтобы предоставить пользователю возможность настроить под себя интерфейс активных документов HTML. Эти параметры могут анализироваться или не анализироваться сервером Web, но в любом случае они хранятся у пользователя. И, разумеется, пропадут, если пользователь, скажем, отформатирует свой жесткий диск. После этого для документа HTML их придется заново. Конечно, задачу индивидуальной настройки параметров страниц можно решить и другими способами, например при помощи активных серверных страниц ASP или расщирений сервера Web типа программ CGI и приложений ISAPL Для этого на сервере Wii> надо установить базу данных, хранящую параметры для всех зарегистрированных в ней В этом случае расширение сервера Web способно динамически создавать настраиваемые документы HTML, используя для определения внешнего вида страниц : а хранящиеся в базе данных. Возлагая задачу хранения параметров отдельных документов HTML на пользовательский браузер. Вы сильно упрощаете задачу организации настройки диалогового интерфейса. А для этого как раз нужны Coolcie и клиентские сценарии. Еще одно практическое применение Coolcie - хранение товара, выбранного посетителем Вашего виртуального электронного магазина. Покупатель отмечает разный товар на разных страницах сервера. При этом полный заказ сформирован и сохранен в Coolcie, а затем по явному запросу пользователя переправляется на сервер. Среди других применений Coolcie можно отметить сетевые игры. В Coolcie хранится, текущее состояние игры или другие параметры. При разработке приложений Web помните, что приложения ни при каких условиях не должны хранить в Coolcie такую информацию, как идентификаторы пользователей и пароли, а также номера кредитных карточек. Дело в том, что эта информация может оказаться доступной администраторам серверов Web и попасть в третьи руки. Обнаружив, что Ваше приложение пытается записывать в Coolcie конфиденциальную информацию, предусмотрительные пользователи, скорее всего, откажутся от работы с ним. Выполнение основных операций с Cookie Рассмотрим основные операции с Coolcie, например Coolcie, получение и изменение значений параметров Coolcie, а также удаление Coolcie. Создание Cookie Существуют два способа создания Cookie, первый из которых используется par ширениями сервера Web, а второй - клиентскими сценариями. Мы рассмотрим их оба. Создание Cookie расширением сервера Web Для чтобы создать Cookie первым способом, расширение сервера обычно добавляет в заголовок HTTP динамически создаваемого докумс1гга 1Г1М I, поле с именем Set-Cookie. В нем определяются имена и .1 Cookie. Когда расширение сервера вызывается из документа HTML, имеющего Cookie, параметры Cookie этому расширению через поле Cookie за- головка HTTP и могут быть Заголовок HTTP, для создания Cookie, выглядит следую- щим образом: SatCoolde; Иая-Значааие: ехр1гв.з=ДатрJUT. secure Описание отдельных полей заголовка Set-Coaki а приведено в таблице 2-7. Таблица 2-7 Поля заголовка Set-Cookie Ilo.iie Описание Произвольное имя параметра, определенного и Cookie. Здесь Вы можете использовать любую строку, лптп бы в ней не было пробелов, занятых и двоеточий, В том случае, когда имя перс-численные выше символы, используйте кодир овку Текстовая строка значений параметров. В этой строке не должно быть пробелов, запятых и двоеточий, поэтому надо использовать для нее кодировку ! RI. : Т Дата автоматического удаления Cookie по Если эта дата не указана, а параметр expires отсутствует. Cookie будет удален сразу после того, как браузер закончит сеанс связи с . Web н часть . ., для которой действует данный Cookie. Если этот параметр не указан, то по умолчанию используется до-адрес документа HTML, где был установлен Cookie UBL Часть адреса . путь к документу HTML, для которо- го действует данный Cookie. Если этот параметр указан, то по умолчанию используется адрес ГЦL документа I, где был установлен Cookie Если указано это поле, данные Cookie необходимо предавать аа.ч. ко с использованием протокола SSL. Еакой протокол применяется HELPS Все поля, кроме первых двух (Имя и Значение), не обязательны. Дата должна быть записана в формате Деньнедели, Д ЧЧ: ММ: СС GMT . . -английское сокращение .1 дня недели : ДД - номер дня недели; - английское : сокращение названия месяца (например, , ГГ две последние цифры года; I ЧЧ - часы; I ММ -MiiiivTiii: # СС секунды. Например, дату можно указать так: 14:45:00 GMT - небольшое замечание относительно полей cloma:lii и path, определя- ющих условие, при котором выполняется установка Cookie. Когда браузер загружает документ HTML с сервера Web и среди . HTTP этого документа есть заголовок Set-Cookie , он проверяет возможность установки Cookie. В процессе проверки анализируется адрес l.iRL, откуда был загружен этот документ, а также содержимое полей domain и path. Если эти поля не указаны, то по умолчанию считается, что они соответствуют адресу по которому находится загруженный документ HTML. В этом случае установка Cookie. Когда же указано поле domain, установка Cookie выполняется, только если документ загружен с сервера Wd., принадлежащего данному домену. Средствами параметра path можно установить ограничение на адреса URL в рамках домена, ддя которых выполняется установка Cookie. При этом значение всем адресам данного домена. Одновременно сервер Web способен создать несколько параметров Cookie, включив в заголовок документа HTML несколько заголовков Set-Cookie. Создание Cookie в клиентском сценарии Второй способ предполагает . свойства dooor.ent, cookie. Это свой- ство мы упомянули, - о свойствах и методах объекта document, со- здаваемого для документа : загруженного в окно браузера. В общем виде сценарий создает Cookie следующим образом: Здесь мы просто записываем в свойство cookie объекта document текстовую строку, определяющую Cookie. Для пересчета текущей даты в формат GMT в клиентских сценариях можно использовать встроенные о чем мы расскажем чуть попозже. В качестве примера ниже показан исходный текст функции addCookie, которую мы используем в своих сценариях для создания Cookie, function . . szVeltjfe.dtDaysExplrcs) { var dtExpires = new DateO; var , line!) + dtDaysExpires * a4 * .n * .n * 1000); dtExpiryDate = :
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |