Обмен информацией в Internet осуществляется по модели "клиент-сервер". Клиент посылает запрос (какие файлы ему нужны), а сервер посылает ответ (запрошенные файлы). Для тесного взаимодействия (так сказать, "полного взаимопонимания") между клиентом и сервером клиент посылает дополнительную информацию о себе: версию и название операционной системы, конфигурацию браузера (включая название и номер версии Вашего браузера) и т.д. Эта информация может быть необходима серверу, чтобы знать какую web страницу предоставить клиенту: для разных конфигураций браузеров могут быть разные варианты web-страниц. Однако, поскольку обычно содержимое web страниц не зависят от браузеров, имеет смысл скрыть от web сервера часть этой информации.

Какая информация передается web серверу (эту информацию в основном передает браузер, однако часть информации может добавлять от себя прокси сервер):

Важнейшей частью этой информации (и "совершенно ненужной" web серверу) является информация о IP адресе и о факте использования proxy. Ведь используя Ваш IP, о Вас можно узнать очень многое:

Информация, передаваемая клиентом серверу, доступна для сервера в виде так называемых переменных окружения (environment variables). Каждая единица этой информации является значением какой-либо переменной. Если же какая-то часть информации не передается, то соответствующая ей переменная будет пустая (ее значение будет неопределенным).

Какие бывают переменные окружения:

REMOTE_ADDR - IP адрес клиента
HTTP_VIA - если не пустая, значит используется proxy. Значение - адрес (или несколько адресов) proxy сервера.
HTTP_X_FORWARDED_FOR - если не пустая, значит используется proxy. Значение - реальный IP адрес клиента (Ваш IP).
HTTP_ACCEPT_LANGUAGE - какой язык используется в браузере по умолчанию (на каком языке лучше отображать страницу)
HTTP_USER_AGENT - так называемый "агент пользователя". Для большинства браузеров это будет Mozilla. Кроме того, тут же указывается название и версия браузера (например MSIE 5.5) и операционная система (например Windows 98)
HTTP_HOST - имя web-сервера.

Здесь перечислена лишь малая часть переменных окружения. На самом деле их гораздо больше (DOCUMENT_ROOT, HTTP_ACCEPT_ENCODING, HTTP_CACHE_CONTROL, HTTP_CONNECTION, SERVER_ADDR, SERVER_SOFTWARE, SERVER_PROTOCOL, ...) и их количество может зависеть от конфигурации (настроек) как сервера, так и клиента.

Пример значений переменных:
REMOTE_ADDR = 194.85.1.1
HTTP_ACCEPT_LANGUAGE = ru
HTTP_USER_AGENT = Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)
HTTP_HOST = www.webserver.ru
HTTP_VIA = 194.85.1.1 (Squid/2.4.STABLE7)
HTTP_X_FORWARDED_FOR = 194.115.5.5

Анонимность при работе в Internet определяется тем, какие из переменных окружения "скрываются" от web сервера.
Для фильтрования передаваемой серверу информации существуют системы, называемые Firewall (брандмауэры). Proxy сервер также может выполнять (в определенной степени) роль Firewall, "удаляя" информацию о IP адресе клиента.

Если proxy сервер не используется, то переменные окружения выглядят следующим образом:

REMOTE_ADDR = Ваш IP
HTTP_VIA = не определена
HTTP_X_FORWARDED_FOR = не определена

По тому, какие переменные окружения подменяют / "скрывают" proxy серверы, существуют несколько видов proxy.

Прозрачные (обычные, transparent) proxy

Они не скрывают информацию о Вашем IP адресе:

REMOTE_ADDR = IP proxy
HTTP_VIA = IP или имя proxy (используется proxy сервер)
HTTP_X_FORWARDED_FOR = Ваш IP

Функцией таких proxy серверов не является повышение Вашей анонимности в Internet. Они предназначены для кэширования информации, организации совместного доступа в Internet нескольких компьютеров и т.д.

Анонимные прокси (anonymous proxy)

Все proxy серверы, тем или иным способом скрывающие IP адрес клиента, называют анонимными. Хотя существуют несколько вариантов анонимных proxy, как правило, говоря "анонимный proxy сервер" имеют в виду их все, не различая подвиды.

Простые анонимные прокси (anonymous proxy)

Эти proxy серверы не скрывают того факта, что используется proxy, однако они подменяют Ваш IP на свой:

REMOTE_ADDR = IP proxy
HTTP_VIA = IP или имя proxy (используется proxy сервер)
HTTP_X_FORWARDED_FOR = IP proxy

Эти proxy наиболее распространены из всех видов анонимных proxy серверов.

Искажающие proxy (distorting proxy)

Как и простые анонимные proxy серверы, эти proxy не скрывают того факта, что используется proxy сервер. Однако IP адрес клиента (Ваш) подменяется на другой (в общем случае произвольный, случайный) IP:

REMOTE_ADDR = IP proxy
HTTP_VIA = IP или имя proxy (используется proxy сервер)
HTTP_X_FORWARDED_FOR = случайный IP

Элитные анонимные proxy (high anonymous / elite proxy)

В отличие от других видов анонимных proxy серверов элитные прокси скрывают даже сам факт использования прокси сервера:

REMOTE_ADDR = IP proxy
HTTP_VIA = не определена
HTTP_X_FORWARDED_FOR = не определена

То есть значения этих переменных такие же, как и в ситуации, когда proxy не используется, за исключением очень важной "мелочи": вместо Вашего IP адреса стоит IP адрес proxy сервера.

Резюме

В зависимости от целей, с которыми они создавались, существуют прозрачные и анонимные proxy. Однако учтите, что используя анонимный proxy, Вы скрываете от web сервера только Ваш IP, а вся остальная информация (о конфигурации браузера) остается доступной!

назад в proxy FAQ


Мы знаем, что сейчас вы в

Seattle, United States
В интернете это может узнать любой!
Как защитить себя?
Мне все равно