
84 Часть П. Компоненты программного обеспечения Web
ответы на основе определенных их параметров, например, размера ответа. Организа-
ция может устанавливать правила применительно к пользователям, запрещающие им
посещение определенных сайтов, например, развлекательных (т.е. игровых сайтов,
сайтов с анекдотами, порнографических сайтов), электронных аукционов и сайтов по
трудоустройству. Прокси-сервер может сопоставлять каждый запрос со списком сай-
тов,
которые организация считает нежелательными для посещения, и отказывать в об-
работке таких запросов, отправляя сообщение об ошибке. Сравнение может выпол-
няться по полному URL (например, http://www.uiiitedmeclia.com/dilbert), но чаще
всего осуществляется сравнение с частью URL, которая представляет собой имя сер-
вера (www.umtedmedia.com). При фильтрации вполне очевидна возможность излиш-
не «запретительного» характера таких мер. В то же для некоторых сотрудников орга-
низации могут иметься вполне разумные причины для посещения «запретных» сай-
тов.
Чтобы решить данную проблему, надо либо предоставить таким клиентам
возможность обойти прокси-сервер, либо прокси-сервер должен устанавливать раз-
личные правила доступа для онределегпхых клиентов на основе их IP-адресов. Про-
кси-сервер ~ это специализированное программное средство, поэтому он допускает
значительную гибкость при его настройке. Многие хорошо известные продукты (на-
{фимер, Netnanny, SurfWatch и др.), которые фильтруют запросы к нежелательным
сайтам, сопоставляют запрашиваемый URL с набором шаблонов. Другой причиной,
1Ю
которой прокси-сервер фильтрует запросы к сайту, может стать то, что обслужива-
ние ответов требует значительных ресурсов. Ограничивая набор сайтов, разрешенных
клиегггам для доступа, прокси-сервер может реально повысить производительность
для других клиентов.
Фильтрация запросов на основе URL
—
это только один из примеров использо-
вания фильтрации. Другой пример
—
фильтрация запросов к поисковым системам
при указании определенных ключевых слов в строке поиска. Это заставляет про-
кси-сервер сначала проверить, является ли сайт, к которому осуществляется обра-
щение, поисковой системой, а затем сопоставить искомый аргумент с набором клю-
чевых слов для поиска, являющихся нежелательными. Еще один пример фильтра-
ции запросов
—
удаление определенных заголовков в Web-запросе, которые могут
содержать сведения о клиенте, такие как адрес электронной почты пользователя.
Как мы увидим далее в главе 7, стандарт протокола HTTP определяет правила для
прокси-серверов, в соответствии с которыми осуществляется удаление или измене-
ние заголовков в сообщении-запросе.
При фильтрации ответов прокси-сервер обычно удаляет определенные ответы,
содержащие да1Н1ые в форматах, вызывающих подозрения. Некоторые вирусы пе-
редаются с помощью ресурсов определенных форматов, и прокси-сервер может
уделить дополнительное внимание ответам в подобных форматах. Прокси-сервер
может проверять такие ответы на вирусы, прежде чем возвратить ответы клиенту.
Помимо текста и изображений, довольно часто в Web в качестве ответов возвраща-
ются программы. В качестве примеров можно привести апплеты Java или сценарии
JavaScript. Интеллектуальный прокси-сервер способен выполнять проверки таких
программ, чтобы удостовериться, что они не могут нанести вред. Другим критери-
ем может быть размер ответа. Предположим, что прокси-серверу известно о низкой
пропускной способности находящегося за ним клиента, и запросы, длина которых
превышает определенное значение, выявляются. Прокси-сервер может принять ре-
шение изменить формат (например, сжать ответ) перед его передачей клиенту.