Всё для Web Дизайнера - Изучение технологий COOKIES: Cookies - Рецепт приготовления печенья, что такое cookies и как с ними работать, что можно делать с помощью cookie, работа с cookie. управление подмножеством документов, для которых действительны значения cookie, и их сроком годности, значения cookie с одинаковыми именами, но разными параметрами, способы задания значений cookie, функция установки значения cookie, функция чтения значения cookie, функция удаления значения cookie, немного о проблемах, связанных с использованием cookie. Html, css, cgi, php, python, mysql, delphi, pascal, раскрутка сайта,  дизайн навигации, оптимизация страниц сайта, регистрация в поисковиках, шрифты, иконки, звуки, графика, картинки, обои для рабочего стола, Xak, Графика и анимация, Обои, Регистрационные ключи, лекарство для программ, взлом программ, взлом и интернет, хакеры, спам, вирусы, 3D Max, Corel Draw, Flash, Dreamweaver, назначение CSS, cпособы применения CSS,синтаксис, переопределение и наследование описаний, Cookies - Рецепт приготовления печенья, что такое cookies и как с ними работать, что можно делать с помощью cookie, работа с cookie, управление подмножеством документов, для которых действительны значения cookie, и их сроком годности, значения cookie с одинаковыми именами, но разными параметрами, способы задания значений cookie, функция установки значения cookie, функция чтения значения cookie, функция удаления значения cookie, немного о проблемах, связанных с использованием cookie.

Программирование
Web мастеру
3D Графика и анимация
Сетевая безопасность

Гостевая книга
Форум
Ссылки
Услуги

Rambler's Top100
TopCTO Компьютеры цены продажа


Компьютеры

Предыдущая статья     Читать дальше
На главную страницу > > В раздел программирование. > > В раздел COOKIES.

Работа с cookie.

Теперь, когда с принципами действия и областями применения cookie все более или менее понятно,
можно приступить к изучению формата и синтаксиса, а также способов задания значений cookie.

Формат и синтаксис cookie.
Предлагаемое мной в этой статье описание формата и синтаксиса cookie является вольным пересказом
изначальной спецификации Netscape Communications "Persistent Client State HTTP
Cookies". В настоящий момент идет разработка более строгой спецификации для cookie. Итак,
cookie является частью HTTP заголовка. Полное описание поля Set-Cookie HTTP заголовка:

Set-Cookie: NAME=VALUE; expires=DATE; path=PATH; domain=DOMAIN_NAME; secure
Минимальное описание поля Set-Cookie HTTP заголовка:
Set-Cookie: NAME=VALUE;
NAME=VALUE - строка символов, исключая перевод строки, запятые и пробелы. NAME-имя cookie, VALUE
- значение. Не допускается использование двоеточия, запятой и пробела.

expires=DATE - время хранения cookie, т.е. вместо DATE должна стоять дата в формате
"expires=Monday, DD-Mon-YYYY HH:MM:SS GMT", после которой истекает время хранения
cookie. Если этот атрибут не указан, то cookie хранится в течение одного сеанса, до закрытия
броузера.

domain=DOMAIN_NAME - домен, для которого значение cookie действительно. Например, "domain=cit-forum.com". В этом случае значение cookie будет действительно и для домена cit-forum.com, и для www.cit-forum.com. Но не радуйтесь, указания двух последних периодов доменных имен хватает только для доменов иерархии "COM", "EDU", "NET", "ORG", "GOV", "MIL" и "INT". Для обсуждаемых сейчас новых семи доменов первого уровня ("FIRM", "SHOP", "WEB", "ARTS", "REC", "INFO", "NOM"), вероятно, это условие сохранится. Для доменов иерархии "RU", например, придется указывать три периода.

Если этот атрибут опущен, то по умолчанию используется доменное имя сервера, на котором было
задано значение cookie.

path=PATH - этот атрибут устанавливает подмножество документов, для которых действительно
значение cookie. Например, указание "path=/win" приведет к тому, что значение cookie будет
действительно для множества документов в директории /win/, в директории /wings/ и файлов
текущей директории с именами типа wind.html и windows.shtml. Для того, чтобы cookie отсылались
при каждом запросе к серверу, необходимо указать корневой каталог сервера, например, "path=/".

Если этот атрибут не указан, то значение cookie распространяется только на документы в той же
директории, что и документ, в котором было установлено значение cookie.

secure - если стоит этот маркер, то информация cookie пересылается только через HTTPS (HTTP сиспользованием SSL - Secure Socket Level), в защищенном режиме. Если этот маркер не указан, то информация пересылается обычным способом.

Синтаксис HTTP заголовка для поля Cookie
Когда запрашивается документ с HTTP сервера, браузер проверяет свои cookie на предмет
соответствия домену сервера и прочей информации. В случае, если найдены удовлетворяющие всем
условиям значения cookie, броузер посылает их в серверу в виде пары имя/значение:

Cookie: NAME1=OPAQUE_STRING1; NAME2=OPAQUE_STRING2 ...
Дополнительные сведения
Одновременно можно задавать несколько значений cookie.

В случае, если cookie принимает новое значение при имеющемся уже в браузере cookie с совпадающими параметрами NAME, domain и path, то старое значение заменяется новым. В остальных случаях новые значения cookie добавляются к старым.

Использование expires не гарантирует сохранность cookie в течение заданного периода времени, поскольку клиент (браузер) может удалить запись из-за нехватки выделенного места или каких-либо других причин.

Клиент (браузер) имеет следующие ограничения для cookies:
всего может храниться до 300 значений cookies
каждый cookie не может превышать 4Кбайт
с одного сервера или домена может храниться до 20 значений cookie
Если ограничение 300 или 20 превышается, то удаляется первая по времени запись. При превышении
лимита объема в 4Кбайт корректность значения cookie страдает - отрезается кусок записи (с начала этой записи) равный превышению объема.

В случае кэширования документов, например, proxy-сервером, поле Set-cookie HTTP заголовка никогда не кэшируется.

Если proxy-сервер принимает ответ, содержащий поле Set-cookie в заголовке, предполагается, что
поле доходит до клиента вне зависимости от кода возврата 304 (Not Modified) или 200 (OK).
Соответственно, если клиентский запрос содержит в заголовке Cookie, то он должен дойти до
сервера, даже если жестко установлен параметр If-modified-since.

Ниже приведено несколько примеров, иллюстрирующих использование cookies
Предыдущая статья     Читать дальше
На главную страницу > > В раздел программирование. > > В раздел COOKIES.

Hosted by uCoz