Введення в cookies

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

Схожі статті