
710 Глава 7. Прикладной уровень
Поле Годен до указывает срок годности маркера. Если это поле отсутствует,
браузер отбрасывает cookie сразу после выхода из программы. Такой маркер на-
зывается неустойчивым. Если же указано время и дата, то о таком маркере гово-
рят, что он устойчивый. Он хранится до тех пор, пока не выйдет срок годности.
Время, указываемое в поле Годен до, — гринвичское. Чтобы удалить cookie с же-
сткого диска клиента, сервер просто посылает его заново, указывая вышедший
срок годности.
Наконец, поле Защищенный может быть установлено для индикации того, что
браузер может вернуть его только на защищенный сервер. Это свойство исполь-
зуется в электронной коммерции, банковском деле и других приложениях, в ко-
торых важна защита информации.
Итак, мы узнали о получении маркеров. Как же они используются? Непо-
средственно перед отправкой браузером запроса на получение страницы на ка-
кой-нибудь веб-сайт проверяется каталог с cookie. Ищутся маркеры, пришедшие
с того домена, на который отправляется запрос. Все найденные маркеры отправ-
ляются вместе с запросом. Получив их, сервер может интерпретировать содер-
жащуюся в них информацию так, как ему нужно.
Рассмотрим возможные применения cookie. В табл. 7.9 первый cookie был
прислан доменом toms-casino.com и используется для идентификации клиента.
Если через неделю тот же клиент возвращается на сайт, чтобы просадить очеред-
ную сумму денег, браузер отправляет cookie, так что сервер узнает старого знакомо-
го. Вооружившись идентификатором пользователя, сервер может найти запись о
нем в базе данных и использовать эту информацию для генерации соответствую-
щей веб-страницы. В зависимости от азартности игрока ему может быть предло-
жен покер, таблица результатов сегодняшних скачек или просто торговый ав-
томат.
Второй cookie-маркер пришел cjoes-store.com. Сценарий в этом случае заклю-
чается в том, что клиент бродит по магазину, выбирая себе покупки. Найдя что-
нибудь привлекательное, он щелкает на значке товара. При этом сервер создает
cookie-маркер, содержащий количество и идентификатор заказанного товара,
и отсылает его клиенту. Клиент продолжает бродить по электронному магазину,
и в ответ на каждый новый запрос страницы ему отсылается cookie. По мере на-
копления выбранных товаров дополняется информация в cookie. В таблице по-
казано, что в корзине клиента содержатся три вида товаров, причем заказано два
экземпляра товара третьего вида. Наконец, когда пользователь щелкает ПЕРЕЙ-
ТИ К РАСЧЕТАМ, cookie, содержащий теперь уже полную информацию о покуп-
ках, отсылается вместе с запросом на сервер. Таким образом, серверу точно из-
вестно, какие товары заказал клиент.
Третий cookie-маркер прибыл с веб-портала. Когда пользователь щелкает на
ссылке на портал, браузер отсылает ему cookie, в котором говорится о том, что
надо показать страницу, содержащую котировки акций Sun Microsysems и Oracle,
а также результаты футбольного матча New York Jets. Так как максимальный
размер cookie-файла равен 4 Кбайт, то остается еще много места для более де-
тальной настройки страницы. Например, в нее можно включить сводку погоды,
специальные предложения, заголовки статей в крупных газетах и т. п.
Всемирная паутина (WWW) 711
Cookie могут использоваться и для нужд самого сервера. Например, с их по-
мощью можно отслеживать число различных посетителей сайта, узнавать, сколь-
ко страниц просмотрел каждый из них, и составлять по этим данным статистику.
Когда на сервер приходит первый запрос от пользователя, вместе с ним, разуме-
ется, не высылается никакой маркер. Поэтому сервер отсылает обратно cookie со
значением счетчика, равным 1. Последующие переходы между страницами сайта
уже будут сопровождаться отсылкой cookie. Всякий раз счетчик будет инкремен-
тироваться и отсылаться пользователю. Таким образом, по счетчикам можно уз-
нать, сколько пользователей покинуло сайт, просмотрев только первую страни-
цу, сколько посетителей просматривают по две страницы, и т. д.
Cookie-файлы могут использоваться и не по прямому назначению. Теорети-
чески, они могут отсылаться только на тот сайт, которым они были порождены,
однако они могут попадать и в руки хакеров, использующих многочисленные
ошибки браузеров. Поскольку некоторые сайты, посвященные электронной ком-
мерции, указывают в cookie номера кредитных карт, нежелательное их использо-
вание может нанести серьезный ущерб.
Есть и противоположный вариант использования cookie — для незаметного
сбора информации о сайтах, наиболее часто посещаемых данным клиентом. Это
делается так. Рекламное агенство, скажем, «Черный Рекламщик», связывается с
крупнейшими веб-сайтами и размещает на них рекламные баннеры своих корпо-
ративных клиентов, за что сайту выплачиваются денежные взносы. Вместо того,
чтобы предоставлять сайту GIF или JPEG с рекламой, ему дается URL, который
следует поместить на всех страницах. Каждый из этих URL содержит уникаль-
ный идентификатор в виде имени файла, например:
http://www.sneaky.com/382674902342.gif
Когда пользователь впервые посещает страницу Р, содержащую такую рекла-
му, браузер, как водится, принимает HTML-файл. Просматривая его, браузер на-
ходит ссылку на изображение на www.sneaky.com. Разумеется, он отправляет за-
прос на получение изображения. Вместе с GIF приходит cookie с уникальным
идентификатором пользователя, 362723910 (см. табл. 7.9). «Черный Рекламщик»
отмечает, таким образом, тот факт, что пользователь с таким идентификатором
посетил страницу Р. Это делается очень просто, так как ссылка на запрошенный
файл (382674902342.gif) существует, на самом деле, только на странице Р. Ко-
нечно, одна и та же реклама может располагаться на тысячах разных страниц, но
каждая из них имеет свое имя файла. При этом за выпуск каждого экземпляра
рекламная компания может взимать с заказчика небольшую сумму.
Затем пользователь может оказаться на другой странице, содержащей баннер
от «Черного Рекламщика». Скачав HTML-файл с сервера, браузер видит ссылку
на изображение с именем, скажем, http://www.sneaky.com/493654919923.gif и за-
прашивает его. Поскольку с домена sneaky.com уже был получен cookie, браузер
отсылает его обратно с идентификатором пользователя. Так «Черный Реклам-
щик» (ЧР) узнает о том, что пользователь посетил вторую страницу с его рекламой.
Со временем ЧР может составить подробное описание пристрастий пользова-
теля, при этом вовсе не обязательно, чтобы тот щелкал на баннерах. Конечно, ос-
тается неизвестным имя пользователя (хотя имеется IP-адрес, и этого может