Что такое 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 также часто строят функцию оформления заказа в онлайновых магазинах, в частности, в Амазоне, такая своеобразная виртуальная корзина покупателя, как в обычном реальном супермаркете.

Какие броузерВеб-обозреватель, браузер (от англ.Web browser; вариант броузер— устаревшая форма)— программное обеспечение для просмотра веб-сайтов, то есть для запроса веб-страниц (преимущественно из Сети), их обработки, вывода и перехода от одной страницы к другой.ы поддерживают механизм cookies?

Не все, конечно, однако самые популярные поддерживают. Я точно знаю, что Netscape (начиная с самой первой версии), Microsoft IE (трешка и четверка - точно, про предыдущие не знаю), MosaicNCSA Mosaic (по-русски произносят [мазаик])— это первый веб-браузер под операционную систему Microsoft Windows с графическим интерфейсом пользователя и развитыми возможностями, на котором основаны и Netscape Navigator, и Microsoft Internet Explorer. Однако, несмотря на то, что NCSA (National Center for Supercomputing Applications) является пионером в области Web-браузеров, работа по развитию программы Mosaic прекращена в 1997году. Последняя версия Mosaic3.0, хотя и обладает приятным интерфейсом, не поддерживает такие современные технологии, как JavaScript, модули расширения и даже анимированные GIF-файлы. Однако этот браузер всё-таки имеет встроенные e-mail и ftp-клиенты. Впервые вышел 22 апреля 1993 года и стал первым в мире интернет-браузером. В 2010 году код NCSA Mosaic 2.7 был адаптирован для работы в современных Linux дистрибутивах.

Установка 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=S-Networks.ru;\n\n";

Чтобы прочитать скриптом значениеЗначение— ассоциативная связь между знаком и предметом обозначения. cookie, которое было установлено ранее, и соответствующим образом выполнить скриптСкриптовый язык (англ.scripting language, в русской литературе принято название язык сценариев)— язык программирования, разработанный для записи «сценариев», последовательностей операций, которые пользователь может выполнять на компьютере. Простые скриптовые языки раньше часто называли языками пакетной обработки (англ.batch languages или job control languages). Сценарии обычно интерпретируются, а не компилируются (хотя всё чаще применяют компиляцию каждый раз перед запуском)., используется переменная окружения 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";

Мы рекомендуем еще посмотреть:

Предварительный заказ телефонной станции

Поля, помеченные знаком [*], обязательны к заполнению.

 Бланк заказа 
 Станция предназначена:  для Вас
для Вашего заказчика
Количество абонентов
  Входящие линии
 Аналоговые двухпроводные линии СО: 
 E&M транки: 
  Цифровые потоки
 PRA: 
 BRA: 
 ИКМ: 
 IP-каналы: 
  Внутренние линии
 Аналоговые абоненты: 
 Цифровые абоненты: 
 IP телефоны: 
Дополнительные услуги
  DECT
 количество абонентов: 
 количество базовых станций: 
 Система тарификации, администрирования станции:  да
нет
Цифровые телефоны
  Количество функциональных кнопок
 24: 
 12: 
 8 (с дисплеем): 
 8 (без дисплея): 
  Панель расширения (только для цифровых телефонов на 24 и 12 кнопок)
 40 клавиш: 
 20 клавиш: 
 Кроссовое оборудование:  требуется
не требуется
 Бесперебойное питание:  требуется
не требуется
 Дополнительные требования: 
(выровнять
Ваши координаты
 Название компании: 
 ФИО *
 E-mail *
 Телефон (код города) *
 Факс (код города): 
Поиск:
Авторизация
Логин
Пароль
Регистрация >
  Мероприятия « 2009 »   
« август » 
Пн  310172431
Вт  4111825 
Ср  5121926 
Чт  6132027 
Пт  7142128 
Сб 18152229 
Вс 29162330 
2009 IT и оборудование для бизнеса, S-NETWORKS. Информационные технологии и Информационное оборудование