Работа с cookies. Часть 1
Cookie представляют собой механизм, применяемой в модели “клиент-сервер” для преодоления одного из ограничений протокола HTTP. Этот протокол не сохраняет свое состояние, т.е. у него нет памяти. Клиент устанавливает соединение, получает документ (текст, изображение или любые другие данные), затем разрывает соединение. Если затем сервер отправляет данные этому клиенту, он не распознает его.
Cookie-наборы позволяют обойти подобное ограничение. В частности, сервер может послать клиенту краткую текстовую информацию, называемую cookie-набором. Эта информация принимается и сохраняется локально, а клиент отправляет ее обратно этому же серверу при каждом запросе. Это дает возможность серверному приложению возможность вновь распознать пользователя.
В JavaScript имеются средства для получения (т.е. чтения) и установки (т.е. записи) cookie, не прибегая к протоколу HTTP. Это позволяет добиться результатов, которые трудно достижимы только средствами HTTP серверной технологии.
Общее представление о cookie
Когда Web-сервер посылает cookie-набор клиенту, используется HTTP-заголовок следующего вида:
Затем клиент получает данный cookie-набор и в соответствии со своей конфигурацией и/или возможностями предпринимает одно из следующих действий:
- игнорирует cookie-набор;
- принимает cookie-набор;
- запрашивает пользователя, следует ли принять cookie-набор;
- отклоняет сookie-набор.
Первое и последнее действия, по существу, означают одно и то же. Web-сервер не в состоянии определить, был ли cookie-набор отвергнут пользователем, отклонен конфигурацией клиента или же проигнорирован клиентом из-за отсутствия поддержки cookie.
Если cookie-наборы принимаются, они затем отправляются обратно серверу, при условии, что выполняется определенный ряд требований. А соответствующий HTTP-заголовок принимает следующий вид:
Cookie-набор может быть связан с определенным доменом или путем. Поэтому cookie-набор обычно посылается обратно только тому серверу, от которого он был первоночально получен. В cookie-наборе можно перезаписать значение домена, но после этого некоторые браузеры автоматически отклоняют такой cookie-набор.
Кроме того, для cookie-наборов установлены определенные ограничения. Не все браузеры поддерживают их одинаково, но для такой поддержки должны быть выполнены следующие минимальные требования:
- объем памяти на каждый cookie-набор — 4 Кбайт (4096 байт);
- число cookie-наборов на каждый домен — 20;
- общее число cookie-наборов — 300;
Оставьте свой отзыв