Cookies
Cookies – это программная хитрость, встроенная в браузеры Всемирной Сети изобретательными программистами. По своей сути cookies – это небольшие порции информации, которую веб-сервер поставляет браузеру. Браузер сохраняет эти данные на компьютере пользователя и отсылает их на сервер всякий раз, когда браузер возвращается к серверу. Cookies позволяют сделать массу полезных и хороших вещей. Но, к сожалению, они также допускают множество разрушительных действий. В первую очередь я объясню, как они работают, а затем расскажу о проблемах, с ними связанных.
HTTP – по сути, протокол, не идентифицирующий пользователя. Это значит, что сервер не знает, кто с ним работает. Сервер просто обслуживает веб-страницы. Браузер запрашивает веб-страницу – сервер ему ее выдает. Сервер не имеет представления, тот ли это браузер, что и раньше, или другой – ему все равно. Такой подход замечательно работает для простых, статических веб-сайтов, содержащих только страницы с фиксированным содержанием.
Сложные веб-сайты имеют динамическое устройство. На веб-сайтах розничной торговли есть «корзины», с которыми вы перемещаетесь при просмотре сайта. На информационных сайтах с платным доступом имя пользователя и пароль требуется вводить при переходе со страницы на страницу. (На мой взгляд, утомительно набирать имя пользователя и пароль каждый раз, когда я хочу посмотреть еще одну статью на веб-сайте New York Times.) Cookies дают возможность управиться с этим.
Отправляя браузеру cookies, а затем запрашивая их обратно, сервер как бы вспоминает, кто вы. «А, конечно, вы – пользователь 12467, вот ваша корзина». Cookies позволяют браузеру добавлять возможность идентификации к протоколам Интернета. Это выглядит, как огромная рассредоточенная база данных, фрагменты которой хранятся в миллионах браузеров.
До сих пор я рассказывал о пользе cookies. Они, главным образом, полезны, если сервер, их разместивший, играет по правилам. Сервер устанавливает, сколько времени действителен cookie: хорошее значение – несколько дней. Сервер может установить ограничения на доступ к cookie. Сервер может ограничивать доступ к другим серверам в том же домене; это значит, что если ваш cookie пришел с inchoate-merchant com, то только inchoate-merchant com может иметь к нему доступ.
Проблемы возникают при нарушении правил игры. Некоторые серверы используют cookies, чтобы прослеживать пользователя от сайта к сайту, а некоторые с помощью cookies идентифицируют пользователя. Вот простой пример: компании занимаются перепродажей места для размещения рекламы на популярных сайтах. Одна из таких компаний – DoubleClick; именно через нее размещены многие объявления, которые вы видите на коммерческих сайтах. Если вы будете просматривать sex-site com, вы увидите часть того окна, которое пришло с DoubleClick com. DoubleClick com предоставляет вам cookie. Позже (в этот же день или, может быть, в другой) вы будете просматривать CDnow com, на котором DoubleClick разместила другую рекламу. DoubleClick может запросить cookie вашего браузера и установить, что он был создан в то время, когда вы посещали секс-сайт, после чего вам будет отправлена целевая реклама, хотя вы интересуетесь CDnow. Поскольку DoubleClick сотрудничает с целым рядом коммерческих сайтов, по ее cookies можно проследить пользователя на всех этих сайтах.