Що таке 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
";
print "Set-Cookie: username = aaa13; expires = Friday ,31-Dec-99 23:59:59
GMT; path=/win/internet/html/; domain=citforum.ru;

";


Щоб прочитати скриптом значення 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
";
print "Set-Cookie: NAME=value; EXPIRES=date; PATH=path;
DOMAIN=domain_name; SECURE
";
print "Set-Cookie: NAME=value; EXPIRES=date; PATH=path;
DOMAIN=domain_name; SECURE

";

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*