Прокси-сервер в роли Web-клиента

Прокси-сервер играет роль клиента, когда пересылает запрос исходному серверу. Существуют две причииы, по которым прокси-сервер пересылает запрос:

•          Прокси-сервер является кэширующим прокси-сервером, по оп не может удовлетворить запрос из своего кэша.

•          Прокси-сервер не является кэширующим прокси-сервером или явпым образом проинструктирован клиентом пересылать запрос.

В роли клиента прокси-сервер должен выполнять все задачи, присущие клиенту. Ему пужпо определить IP-адрес исходного сервера, обратившись к DNS-серве- py, открыть соединение с исходным сервером, передать запрос и получить возвращенный исходным сервером ответ. Ответ возвращается клиенту, который отправил запрос прокси-серверу. Если ответ ссылается на встроенные ресурсы, клиент может также отправить прокси-серверу запросы на эти ресурсы. Прокси-сервер обрабатывает каждый из этих запросов аналогично тому, как он обрабатывал первый запрос, получает ответы от сервера и пересылает ответы клиенту.

Прокси-сервер может иметь несколько другие возможности по сравнению с клиентом. Так, прокси-сервер может иметь лучшее подключение к Internet, чем клиент. Для прокси-сервера является типичным использование более старой версии протокола, чем клиентом. Это главным образом обусловлено тем, что новые версии браузеров распространяются быстро и бесплатно. Обновление программного обеспечения промежуточных компонентов занимает больше времени. На деле в настоящее время в Web имеется гораздо больше пользовательских агентов и Web-серверов, чем прокси-серверов, работающих иод НТТР/1.1. Если версия протокола ирокси-сервера является более старой, чем версия у клиента, прокси-сервер не будет способен использовать новые функциональные возможности протокола. Любой запрос, использующий более позднюю версию, должен быть сведен про- кси-сервером к более старой версии, прежде чем прокси-сервер осуществит его пересылку.

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

По сравнению с клиентом, прокси-сервер взаимодействует с гораздо большим числом серверов и по природе своей деятельности с большей вероятностью обращается к одному и тому же Web-сайту мпого раз. Можно избежать многочисленных обращений к DNS для преобразования домепного имени одного и того же сайта в IP-адрес, если это уже педавно было сделано от имени другого клиента. Заметим, что обращения к DNS выполняются прокси-сервером только в том случае, если он является последним в цеиочке прокси-серверов между пользовательским агентом и Web-сервером; в противном случае он просто пересылает запрос следующему прокси-серверу в цепочке.

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

Источник: Web-протоколы. Теория и практика. — M.: ЗАО «Издательство БИНОМ», 2002 г. – 592 c.: ил.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100