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