Реализация cookie-наборов
Posted in: Обработка форм, By: admin, At: Июнь 15th, 2008
Как уже говорилось, существует несколько методов использования cookie-наборов в РНР-сценариях. В этом разделе рассматриваются два метода (использование HTML и Р1ТТР). Установка cookie-наборов на клиентской стороне с помощью, например JavaScript, рассматриваться не будет, cookie-наборы посылаются клиенту путем спецификации одного или нескольких заголовков Set-Cookie, когда браузер запрашивает файл у Web-сервера во время выполнения запроса GET или POST. Синтаксис HTTP-заголовка Set-Cookie имеет следующий вид:
Set-Cookie: NAME=VALuE; expires=DATE; path=PATH; domain=DOMAIN_NAME; secure
На заметку -
Несмотря на то что можно указывать все параметры, для нормальной работы HTTP-заголовок Set-Cookie не требует всех параметров. Например, параметр PATH может быть опущен.
Параметр NAME представляет собой имя cookie-набора, a VALUE — URL-кодированное значение. Параметр DATE задает точную дату и время, когда cookie-набор потеряет актуальность (если он указан). Параметры PATH и DOMAIN_NAME представляют путь и домен, для которых предназначен этот cookie-набор. Последний параметр, secure, нужно указывать, если cookie-набор посылается через защищенное (SSL) НТТР-соедкнение. Как уже упоминалось, параметр DATE задает граничное время актуальности cookie-набора. Ниже представлен формат параметра DATE:
где
Ранее говорилось, что cookie-наборы посылаются только тем доменам, которые соответствуют доме!гу cookie-набора (указанному В параметре DOMAINMAME). Следует помнить, что для корректной установки cookie-набора указывать полное доменное имя необязательно.
Например, если нужно установить cookie-набор, который будет работать с mysubdoain.coggeshall.org, www.coggeshall.org и просто coggeshall.org, будет достаточно задать значение DOMAIN_NAME равным .coggeshall.org. Это работает потому, что браузер сравнивает текущее доменное имя с соответствующим значением cookie-набора справа налево (в обратном порядке) и посылает cookie-набор, если обнаружено совпадение. Таким образом, поскольку mysubdomain.coggeshall.org соответствует . coggeshall .org (справа налево), то cookie-набор будет послан.
Leave a Reply