Статьи, публикации

  На главную

  Учебные пособия

  Интернет-Магазин

  Обо мне

  Услуги

  Гостевая

  Фотоальбом

  Партнёрские       Программы




логотип


Проверить аттестат






Бесплатная раскрутка сайта. Рекомендую!




    Статья взята с компакт - диска ("Web Дизайн. 2003г."). Автор неизвестен, авторских прав на диске также не имеется.



Что такое Cookies и с чем их "едят"

..разумеется, с чаем!...



Что такое 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 разом:

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";

 

вверх

К оглавлению



Участник рейтингов


Rambler's Top100

Рейтинг@Mail.ru







TopCTO Услуги


Copyright © 2003 by Evgeni Alekseev.
Разрешается републикация материалов сайта
с обязательным указанием ссылки на сайт www.Alexseev1.narod.ru 
и со ссылкой на автора материала (указание автора, его сайта)

Сайт управляется системой uCoz