Кафедра Информационных Систем и Технологий. Сдана на проверку Допустить к защите 2007 г. 2008 г. Защищена с оценкой 2008 г курсовая

Вид материалаКурсовая

Содержание


2.1.История и эволюция прокси-серверов
Подобный материал:
1   2   3   4   5   6   7   8   9   10   11
^

2.1.История и эволюция прокси-серверов




Хотя первоначально Web-сообщения передавались между пользовательским агентами и Web-серверами непосредственно, промежуточные компоненты быстро нашли применение. К трем наиболее распространенным промежуточным компо­нентам относятся собственно прокси-серверы, шлюзы и туннели.

Прокси-серверы стали играть важную роль уже в 1994 г. К этому привел рост популярности Web. В первом проекте документа, описывающего синтаксис унифицированных идентификаторов ресурсов (URI), упоминалась роль про­кси-сервера как шлюза, т.е. HTTP-сервера, через который проходят сообщения и где может быть осуществлено преобразование протоколов. В целях безопасности многим организациям не разрешалось иметь непосредственный выход в Internet. Вместо этого все коммуникационные потоки проходили через межсетевой экран или брандмауэр - компьютер, который выполнял роль «стража». Трафик к месту назначения и от него, представляющийся небезопасным, отфильтровывал­ся межсетевым экраном. Поскольку весь трафик в Internet и из Internet проходил через межсетевой экран, последний естественным образом исполнял функции про­кси-сервера. Изначальным назначением прокси-сервера было предоставить доступ Web-клиентам, находящимся за межсетевым экраном организации. Перво­начальное назначение прокси-серверов состояло в том, чтобы клиенты не теряли каких-либо функциональных возможностей при передаче своих запросов и получе­нии ответов через межсетевой экран. Самый первый прокси-сервер в действитель­ности представлял собой шлюз в CERN (Европейский центр физики высоких энергий), где впервые в мире был реализован Web-сервер.

Прокси-серверы часто используются для пере­дачи сообщений через межсетевой экран. Прокси-сервер принимает запросы от клиентов и либо обрабатывает их самостоятельно, либо передает запросы (возможно, с преобразованием) другим серверам.

Итак, прокси-серверы, поначалу используемые в качестве шлюзов, в настоящее время стали составной частью пользовательского «восприятия» Web. Запрос от клиента может завершиться на прокси-сервере, если требуемый ответ содержится в кэше прокси-сервера. В противном случае запрос будет перенаправлен на другой сервер, который может быть конечным сервером в цепочке, так и не быть им. Ко­нечный сервер фактически отвечает на клиентский запрос. На рис. 1 демонстри­руется прокси-сервер, играющий роль клиента и сервера. Как показано на рисунке, клиент 1 запрашивает ресурс В. Запрос направляется прокси-сервером серверу 1, а ответ возвращается клиенту. Этот запрос не кэшируется. Запрос от клиента 2 на ресурс А направляется серверу 2, но ответ кэшируется на прокси-сервере и возвра­щается клиенту. Теперь, когда клиент 3 запрашивает ресурс А, запрос прокси-сер­вером не перенаправляется серверу 2, вместо этого клиенту 3 возвращается копия ресурса А из кэша.



Рис. 1. Прокси-сервер в качестве промежуточного звена между клиентом и сервером

Прокси-сервер представляет собой не только промежуточное звено между от­правителем и получателем HTTP-сообщения. Шлюз - это сервер, который обычно действует как передаточное звено для серверов, работающих с другими протокола­ми, например, серверов электронной почты или FTP-серверов. При направлении сообщения такому серверу шлюз осуществляет преобразование HTTP-запроса к требуемому протоколу. Ответ возвращается шлюзу, который после выполнения соответствующего преобразования возвращает ответ отправителю запроса. Однако между прокси-сервером и шлюзом имеются различия. При использовании про­кси-сервера отправителю следует знать, что прокси-сервер может либо сам отве­тить на запрос, либо переадресовать запрос. В случае использования шлюза имеет место несколько другая картина. Для отправителя шлюз действует как исходный сервер. Клиенту, обращающемуся с запросом, необязательно знать, что где-то на пути сообщения имеется шлюз. Шлюз к другому сервису, например, к электронной почте или группам новостей, должен принимать входящий запрос и преобразовы­вать его в формат, используемый сервисом, которому направляется запрос.

Туннель - это промежуточное звено, которое передает битовые данные между двумя точками соединения. Туннель, в отличие от прокси-сервера или шлюза, не выполняет синтаксический анализ и не интерпретирует HTTP-сообщение, переда­ваемое через него вслед за строкой запроса (первой строки HTTP-сообщения) для указания адреса компьютера, с которым необходимо установить соединение. Тун­нель переходит в активное состояние в начале сеанса взаимодействия. В активном состоянии туннель не воспринимается как часть HTTP-взаимодействия. Туннель активизируется в начале сеанса и в активном состоянии не считается частью ком­муникационного взаимодействия, поскольку он не просматривает, не создает и не изменяет передаваемое информационное содержимое. Туннели не кэшируют отве­ты, тогда как шлюзы и прокси-серверы могут это делать. Еще более важно, что вре­мя существования туннеля, в отличие от прокси-сервера или шлюза, равно време­ни существования капала связи между конечными точками соединений. Если оба конца соединений закрыты, туннель прекращает свое существование.

Хотя имеются только три крупные категории промежуточных компонентов, мы ограничимся рассмотрением только прокси-серверов. Прокси-сервер - это промежуточное звено в Web, которое полу­чило достаточно широкое распространение. Шлюзы и туннели используются го­раздо реже.