Протокол HTTP, который в основном используется для взаимодействия между Web-клиентом и Web-сервером, не позволяет устанавливать длительного сеанса. Это означает, что при поступлении запроса от определенного клиента сервер не имеет возможности "понять", поступали ли ранее запросы от данного клиента или нет. Другими словами взаимодействие не предусматривает механизма идентификации клиента сервером.
В ряде случаев это может оказаться неудобным. Например, при построении Интернет-магазина серверу необходимо при переходе клиента с одной страницы на другую "помнить" информацию о клиенте и об отобранных им товарах.
Для решения этой проблемы в свое время был предложен механизм, основанный на использовании специальных маркеров cookie. Маркер cookie - это небольшой файл, который сохраняется Web-клиентом на локальном диске по запросу Web-сервера, содержащий информацию о просмотренных страницах, о клиенте, а также настройках и параметрах, установленных пользователем для этих страниц. При повторном обращении информация, сохраненная в соответствующем файле cookie, передается серверу.
Современные Web-клиенты поддерживают работу с маркерами cookie в различных режимах. Возможны следующие варианты:
-
Web-клиент автоматически сохраняет файлы cookie по запросу сервера;
-
Web-клиент выборочно сохраняет файлы cookie по какому-либо условию, например, по разрешению пользователя или только связанные с определенными узлами;
-
Web-клиент не сохраняет файлы cookie ни при каких обстоятельствах.