tanenbaum_seti_all.pages (525408), страница 189
Текст из файла (страница 189)
Концептуально они похожи: и та, и другая представляют собой схему поиска и получения информации, хранящейся на различных серверах, однако система ОорЬег поддерживала только тексты и не поддерживала изображений. Сейчас ее можно считать полностью устаревшей, используется она крайне редко. Последние два протокола не занимаются имитацией получения веб-страниц, но они также полезны, Протокол гпа1!го позволяет пользователю посылать электронную почту из веб-браузера. Например, в некоторых браузерах для этого нужно щелкнуть на кнопке ОРЕй и ввести (Ж!.-указатель, состоящий из слова вин!Го:, за которым следует почтовый адрес получателя.
В ответ в большинстве 709 Глава 7. Прикладной уровень браузеров откроется специальная форма, содержащая поля для редактирования темы письма и других заголовков, а также окно для ввода текста самого письма. С помощью протокола ге!лег можно установить в подключенном режиме соединение с удаленным компьютером.
Он используется так же, как и программа Те!пег, что неудивительно, так как большинство браузеров просто вызывают саму программу Те!пег как вспомогательное приложение. Итак, 1)К(.-указатели позволяют пользователям не только путешествовать по Всемирной паутине, но и работать с РТР-серверами, ВВЯ, Сорпег-серверами, электронной почтой и регистрироваться на удаленных серверах с помощью программы Те1пец Все эти ресурсы оказываются доступны при помощи всего одной программы — веб-браузера, что очень удобно. Если бы отцом этой идеи не был ученый-физик, она стала бы, вероятно, самой убедительной рекламой какой-нибудь компании, специализирующейся на выпуске программного обеспечения. Несмотря на все перечисленные достоинства, все продолжающийся рост популярности Всемирной паутины выявил один врожденный недостаток ПКЕ-схемы.
!)К!. указывает на определенный хост. Часто запрашиваемые по сети страницы было бы лучше дублировать и хранить копии в удаленных концах сети, чтобы снизить сетевой трафик. Беда в том, что ОКЕ-указатели не предоставляют возможности для ссылки на страницу без указания ее точного адреса. Нельзя сказать: «Мне нужна страница айс, и мне все равно, где вы ее раздобудетем Для решения задачи репликации страниц проблемная группа проектирования Интернета 1ЕТР (!пгегпес Епй!пеег!пя Тай Рогсе) работает над системой $!КХ ((!и!!огш Кезоигсе Хаше — универсальное имя ресурса).
Универсальное имя ресурса () КХ можно считать обобщенным 1) К1-указателем. В настоящее время этот вопрос находится в стадии исследования, хотя уже предложен синтаксис, описанный в КРС 2141. Принцип отсутствия состояний и сооК!е-файлы Как мы уже неоднократно повторяли, Всемирная паутина изначально не может находиться в каком-либо состоянии. Отсутствует понятия сеанса связи. Браузер клиента посылает запрос на сервер и получает в ответ файл. После этого сервер забывает о том, что он когда-либо видел этого клиента.
Вначале, когда Паутина использовалась исключительно для получения документов, предназначенных для широкой публики, такая модель была адекватна. Ноно мере наращивания функциональности стали появляться различные проблемы. К примеру, на некоторых сайгах требуется регистрация пользователей; а иногда получение информации с сайта является платным. Возникает вопрос различения запросов от зарегистрированных пользователей и от всех остальных. Вторым примером является электронная коммерция.
Как серверу собрать информацию о состоянии корзины пользователя, если тот время от времени пополняет ее содержимое? Третий пример — веб-порталы типа г'аЬоо. Пользователям предоставляется возможность настраивать вид начальной страницы (например, так, чтобы им сразу показывались последние новости о любимой спортивной команде или курсы ценных бумаг). Однако как сервер сможет корректно отобразить страницу, если он не знает, с каким пользователем он имеет дело? Всемирная паутина 1УУУУУт) 709 Таблица 7.10. Примеры соон1е Годен до Защищаемый Домен Путь Содержимое 1оте-сампо.оого / Сч»1оюе6044977936 16-10-02 17:00 Да 21 Сагг 1-00601;1- 07031;2.13721 Ргеге=зги;6ЦМФ«ОЯ 31-12-10 23:69 Нет С~;вргмаге 0аег10 362723910 31-12-12 23:69 Наг утеа-агога.оопг арогга1.сою апеаку.оопт Поле Содеркимое имеет вид имя - значение.
Как имя, так и значение могут быть совершенно произвольными, на усмотрение сервера. В этом поле хранится основная информация, которую несет в себе маркер. На первый взгляд может показаться, что решение очевидно: сервер может различать пользователей по их 1Р-адресам. Однако эта идея не работает. Во-первых, многие пользователи работают на компьютерах с разделяемыми ресурсами (например, сотрудники компании), и с помощью 1Р-адреса можно идентифицировать лишь компьютер, а не пользователя. Во-вторых, что еще хуже, многие провайдеры используют КАТ, поэтому все исходящие пакеты от тысяч клиентов имеют один и тот же 1р-адрес.
Для решения этой проблемы фирмой 6)егзсаре был предложен сильно раскритикованный метод сооЫе-файлов. Такое название произошло от старинного программистского сленгового словечка. Программа вызывала процедуру и получала взамен нечто, что могло понадобиться впоследствии для выполнения какой-либо задачи.
Это «нечто» и называлось спок!е. В этом смысле файловый дескриптор в ()й)1Х и дескриптор объектов в Ю1пдоттз можно рассматривать как соох(е. Эти специальные маркеры позднее были формализованы в КРС 2109. Когда пользователь запрашивает страницу, сервер может снабдить свой ответ дополнительной информацией, которая может включать в себя соок(е, то есть маркер, представляющий собой маленький (до 4 Кбайт) файл (или строку), Браузеры сохраняют полученные маркеры в специальном каталоге на жестком диске, если только пользователь не отключил данную функцию.
итак, соокге — это файлы или строки, а не исполняемые программы. В принципе, в них может содержаться вирус, но поскольку они рассматриваются всего лишь как информационные данные, нет какой-либо официальной возможности для активации вирусов и нанесения ущерба системе. Однако у хакера всегда есть воэможность, используя ошибки в браузере, заставить активироваться вирусы, содержащиеся в соок(е.
В маркерах соо)ае может содержаться до пяти полей, как показано в табл, 7.10, Поле Домен содержит имя домена, с которого пришел маркер. Предполагается, что браузеры проверяют тот факт, что серверы не лгут относительно имен доменов. Кюкдый домен может хранить не более 20 маркеров, связанных с одним клиентом. Поле Пупгь содержит путь в структуре каталогов на сервере, указываюппгй те части дерева каталогов, которые могут использовать маркер. Часто в этом поле содержится знак «/», означающий, что доступно дерево целиком.
710 Глава 7. Прикладной уровень Поле Годен до указывает срок годности маркера. Если зто поле отсутствует, браузер отбрасывает сооЫе сразу после выхода из программы. Такой маркер называется неустойчивым. Если же указано время и дата, то о таком маркере говорят, что он устойчивый. Он хранится до тех пор, пока не выйдет срок годности, Время, указываемое в поле Годен до, — гринвичское. Чтобы удалить соо1це с жесткого диска клиента, сервер просто посылает его заново, указывая вышедший срок годности. Наконец, поле Защищенный может быть установлено для индикации того, что брауэер может вернуть его только на защищенный сервер. Это свойство используется в электронной коммерции, банковском деле и других приложениях, в которых важна защита информации.
Итак, мы узнали о получении маркеров. Как же они используются7 Непосредственно перед отправкой браузером запроса на получение страницы на какой-нибудь веб-сайт проверяется каталог с соок1е. Ищутся маркеры, пришедшие с того домена, на который отправляется запрос. Все найденные маркеры отправляются вместе с запросом. Получив их, сервер может интерпретировать содержащуюся в них информацию так, как ему нужно. Рассмотрим возможные применения сооЫе.
В табл. 7.9 первый соо1г1е был прислан доменом гоэп-саяпо.сот и используется для идентификации клиента. Если через неделю тот же клиент возвращается на сайт, чтобы просадить очередную сумму денег, браузер отправляет соок1е, так что сервер узнает старого знакомого. Вооружившись идентификатором пользователя, сервер может найти запись о нем в базе данных и использовать зту информацию для генерации соответствующей веб-страницы. В зависимости от азартности игрока ему может быть предложен покер, таблица результатов сегодняшних скачек или просто торговый автомат. Второй соок1е-маркер пришел с7оезмэоге.сот. Сценарий в этом случае заключается в том, что клиент бродит по магазину, выбирая себе покупки.
Найдя чтонибудь привлекательное, он щелкает на значке товара. При этом сервер создает сооЫе-маркер, содержащий количество и идентификатор заказанного товара, и отсылает его клиенту. Клиент продолжает бродить по электронному магазину, и в ответ на каждый новый запрос страницы ему отсылается сооЫе.