Що таке cookie?
Cookie є рішенням однієї з спадкових проблем HTTP специфікації. Ця проблема полягає в непостійності з'єднання між клієнтом і сервером, як при FTP або Telnet сесії, тобто для кожного документа (або файла) при передачі по HTTP протоколу надсилається окремий запит. Включення cookie в HTTP протокол дало часткове вирішення цієї проблеми.
Cookie це невелика порція інформації, яку сервер передає клієнту. Клієнт (броузер) буде зберігати цю інформацію і передавати її серверу з кожним запитом як частина HTTP заголовка. Деякі cookie зберігаються тільки протягом однієї сесії, вони віддаляються після закриття броузера. Інші, встановлені на певний період часу, записуються в файл. Зазвичай цей файл називається 'cookie.txt'.
Що можна робити за допомогою cookie?
Які браузери підтримують механізм cookies?
Не всі, звичайно, але найпопулярніші підтримують. Я точно знаю, що Netscape (починаючи з найпершої версії), Microsoft IE (трійка і четвірка - точно, про попередні не знаю), Mosaic
Установка cookie.
Як виставляти cookies клієнтові залежить від того, як вони будуть використовуватися в подальшому. Це можна робити як за допомогою скриптів, так і за допомогою META-тегів HTML. Можна маніпулювати часом життя виставлених cookies і встановлювати місце, в якому установки дійсні. Загальний формат установки такий:
Установка cookie за допомогою HTML.
Найпростіший спосіб виставити cookie - використовувати відповідний META-тег в заголовку
будь-якого статичного HTML документа. Це виглядає наступним чином:Установка cookie з використанням Perl / CGI.
Інший спосіб виставити cookie - за допомогою серверного скрипта. На Perl це буде виглядати приблизно так: перед тим як видавати серверний відповідь генерується HTTP заголовок
Щоб прочитати скриптом значення cookie, яке було встановлено раніше, і відповідним чином виконати скрипт, використовується змінна оточення HTTP_COOKIE. На Perl це буде виглядати так:
Установка декількох cookie одночасно.
Як за допомогою HTML, так і за допомогою скриптів можна встановлювати кілька cookie разом: