Андрей Аликберов
Что такое 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 документа.
Это выглядит следующим образом:
Установка cookie с использованием
Perl/CGI.
Другой способ выставить cookie - с
помощью серверного скрипта. На Perl
это будет выглядеть примерно
следующим образом: перед тем как
выдавать серверный ответ
генерируется HTTP заголовок
Чтобы прочитать скриптом
значение cookie, которое было
установлено ранее, и
соответствующим образом выполнить
скрипт, используется переменная
окружения HTTP_COOKIE. На Perl это будет
выглядеть так:
$cookie = $ENV{'HTTP_COOKIE'};
При использовании SSI для
просмотра значения cookie можно
применить директиву:
<!--#echo var="HTTP_COOKIE"-->
Установка нескольких cookie
одновременно.
Как с помощью HTML, так и с помощью
скриптов можно устанавливать
несколько cookie разом:
Литература по HTML
|