Полезные советы
Что такое cookies и с чем их едят
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
Более подробно об этом можно прочитать в
статье "Формат и синтаксис Cookies"
Установка 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 разом:
HTML:
<META HTTP-EQUIV="Set-Cookie"
CONTENT="NAME=value; EXPIRES=date; DOMAIN=domain_name;
PATH=path; SECURE">
<META HTTP-EQUIV="Set-Cookie"
CONTENT="NAME=value; EXPIRES=date;
DOMAIN=domain_name;
PATH=path; SECURE">
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";
[Оглавление]
|