Программирование >>  Руководство по созданию web приложений 

1 ... 23 24 25 [ 26 ] 27 28 29 ... 141


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 = :



1 ... 23 24 25 [ 26 ] 27 28 29 ... 141

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика