Что такое 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-таг в заголовке <HEAD>
</HEAD> любого статического HTML документа. Это выглядит следующим
образом: <META HTTP-EQUIV="Set-Cookie" CONTENT="NAME=value;
EXPIRES=date; DOMAIN=domain_name; PATH=path; SECURE">
Установка 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
можно применить директиву: <!--#echo var="HTTP_COOKIE"-->
Установка нескольких cookie
одновременно. Как с помощью HTML, так и с помощью скриптов можно
устанавливать несколько cookie разом:
Warning: in_array() expects parameter 2 to be array, null given in /home/users/z/zero50x/domains/webcorp.ru/3135d45a5e6dbd6cecac66e2f3787d8b/sape.php on line 192