Delphi & C++             Windows              Документы Интернет жизнь

Что такое Cookie? Что можно делать с помощью cookie? Какие броузеры поддерживают механизм cookies? Установка cookie Установка cookie с помощью HTML Установка cookie с использованием Perl/CGI Установка нескольких cookie одновременно Что такое cookie?

Зачем это надо?

, В первые дни своего нахождения в интернете я залез на один из сайтов по DELPHI, а через несколько дней залез снова, и при входе меня оповестили, что я посетил его во второй раз. Это навело меня на некоторые мысли о хранении информации. Так вот Cookie является механизмом реализации этой проблемы.
То есть вы, имея страничку можете сделать так, чтобы при заходе на вашу страничку на компьютере пользователе сохранялась некоторая информация. Cookie является решением одной из наследственных проблем HTTP спецификации. Эта проблема заключается в непостоянстве соединения между клиентом и сервером, как при FTP или Telnet сессии, т.е. для каждого документа (или файла) при передаче по HTTP протоколу посылается отдельный запрос. Включение cookie в HTTP протокол дало частичное решение этой проблемы. Cookie это небольшая порция информации, которую сервер передает клиенту. Клиент (броузер) будет хранить эту информацию и передавать ее серверу с каждым запросом как часть HTTP заголовка. Некоторые cookie хранятся только в течение одной сессии, они удаляются после закрытия броузера. Другие, установленные на некоторый период времени, записываются в файл. Обычно этот файл называется 'cookie.txt'.

Что можно делать с помощью cookie?

Сами по себе cookies не могут делать ничего, это только лишь некоторая информация. Однако, сервер может на содержащуюся в cookies информацию. Например, в случае авторизованного доступа к чему либо через WWW, в cookies сохраняется login и password в течение сессии, что позволяет не вводить их при запросе каждого запаролированного документа. Другой пример: cookies могут использоваться для построения персонализированных страниц. Чаще всего встречается такое - на некотором сервере Вас просят ввести свое имя, и каждый раз, когда Вы заходите на первую страницу этого сервера, Вам пишут что-то типа "Hello, your_name!". На использовании cookies также часто строят функцию оформления заказа в онлайновых магазинах, в частности, в Амазоне, такая своеобразная виртуальная корзина покупателя, как в обычном реальном супермаркете.

Какие броузеры поддерживают механизм cookies?

Не все, конечно, однако самые популярные поддерживают. Я точно знаю, что Netscape (начиная с самой первой версии), Microsoft IE (трешка и четверка - точно, про предыдущие не знаю), Mosaic

Установка cookie.

Как выставлять cookies клиенту зависит от того, как они будут использоваться в дальнейшем. Это можно делать как с помощью скриптов,так и с помощью META-тагов HTML. Можно манипулировать временем жизни выставленных cookies и устанавливать место, в котором установки действительны. Общий формат установки таков: Set-Cookie: NAME=value; EXPIRES=date; DOMAIN=domain_name; PATH=path; SECURE
Установка cookie с помощью HTML.

Простейший способ выставить cookie - использовать соответствующий META-таг в заголовке любого статического HTML документа. Это выглядит следующим образом:

Установка cookie с использованием Perl/CGI.

Другой способ выставить cookie - с помощью серверного скрипта. На Perl это будет выглядеть примерно следующим образом: перед тем как выдавать серверный ответ генерируется HTTP заголовок print "Content-type: text/html\n"; print "Set-Cookie: username=aaa13; expires=Friday,31-Dec-99 23:59:59 GMT; path=/win/internet/html/; domain=citforum.ru;\n\n";

Чтобы прочитать скриптом значение cookie, которое было установлено ранее, и соответствующим образом выполнить скрипт, используется переменная окружения HTTP_COOKIE. На Perl это будет выглядеть так: $cookie = $ENV{'HTTP_COOKIE'};

При использовании SSI для просмотра значения cookie можно применить директиву:

Установка нескольких cookie одновременно.

Как с помощью HTML, так и с помощью скриптов можно устанавливать несколько cookie разом: HTML:

Perl/CGI: print "Content-type: text/html\n"; print "Set-Cookie: NAME=value; EXPIRES=date; PATH=path; DOMAIN=domain_name; SECURE\n"; print "Set-Cookie: NAME=value; EXPIRES=date; PATH=path; DOMAIN=domain_name; SECURE\n\n";

Сайт создан в системе uCoz