Прокси серверы ICQ — Подробнее о HTTPS и CONNECT proxy серверах
Эти прокси серверы имеют различные названия:
- HTTPS
- CONNECT
- mail-enabled HTTP(S)
- HTTP(S) для ICQ
- прокси с поддержкой спецификации HTTP 1.1
Все эти типы прокси на самом деле являются proxy серверами, поддерживающими спецификацию HTTP 1.1. Обратите внимание: HTTP 1.1 имеет две спецификации — RFC 2616 и устаревший RFC 2068. Речь здесь идет о RFC 2616 — в которой документирован метод CONNECT.
Все эти подтипы прокси имеют одну и ту же возможность — они могут работать с использованием метода CONNECT (в дополнение к GET / POST). Различие между подтипами состоит исключительно в настройках программ прокси-серверов:
- если в настройках прокси сервера разрешено подключение методом CONNECT к порту 443 (https:// адреса), то это HTTPS proxy;
- если в настройках прокси сервера разрешено подключение методом CONNECT к любым портам (не считая 443 и 25), то он называется CONNECT proxy (в ICQ такой прокси называется HTTP proxy);
- если в настройках прокси сервера разрешено подключение методом CONNECT к порту 25 (почтовый сервис), то его можно использовать для рассылки почты и такой прокси называется mail-enabled, или 25 port enabled или прокси с открытым 25-м портом и т.д. Не путайте: это не SMTP сервер: он может подключаться к SMTP серверам, но сам таковым не является.
Почему так много «подтипов» прокси?
Изначально этот метод (CONNECT) был рассчитан на работу с HTTPS протоколом (HTTP Secure — защищенный протокол). Однако разработчики не учли, что этот метод может быть использован для различных целей — и в результате появились CONNECT proxy. Во многих современных программах — прокси серверах уже предусмотрена возможность запретить использование метода CONNECT не для https:// адресов, однако многие программы имеют ошибки или просто неправильно настроены. В результате мы имеем различные «типы» прокси.
Какие программы могут работать с такими прокси?
Прежде всего это браузеры (Internet Explorer, Opera) — когда Вы открываете любой адрес с префиксом https:// .
- HTTPS proxy = HTTPS proxy (для открытия https:// адресов)
- HTTP proxy = CONNECT proxy (для подключения к любым портам)
Обратите внимание: ICQ не будет работать с обычным (или «чистым») HTTP proxy (который не поддерживает метод CONNECT).
О программе HTTPort (для экспертов)
Вы можете возразить: а как же ICQ работает с обычными HTTP прокси через HTTPort? Все очень просто: программа HTTPort использует 2 режима работы с прокси (причем выбор режима программа может сделать сама):
- Если прокси поддерживает метод CONNECT, то HTTPort использует его.
- Если прокси не поддерживает метод CONNECT, HTTPort использует свой собственный уникальный метод работы:
- имеется специальный сервер htthost.com, на котором запущена программа-сервер HTTHost;
- в ICQ настраиваете прокси сервер на программу HTTPort (запущенную на Вашем компьютере);
- ICQ посылает запрос на соединение;
- HTTPort используя свой специальный режим работы (remote host) по протоколу HTTP (команды GET / POST) связывается со своим сервером (htthost.com) и обменивается данными. При этом двоичные данные шифруются в текстовый вид (аналогично MIME encoding в аттачах у почтовых сообщений);
- на сервере программа HTTHost принимает данные, расшифровывает их и передает их дальше в интернет (на сервер, к которому обратилась ICQ), затем принимает ответ от сервера, шифрует его и передает через HTTP клиенту (HTTPort);
- HTTPort дешифрует полученные данные и передает их программе (ICQ).
Дополнительная информация
- Спецификация HTTP 1.1 RFC 2616: HTML, TXT
- Туннелирование TCP через web-прокси (статья, рус.)
- Туннелирование TCP через веб-прокси часть 2: HTTPort3+HTTHost1=? (статья, рус.)
- Туннелирование — взгляд изнутри (статья, рус.)
- Ari Luotonen: Tunneling TCP based protocols through Web proxy servers
назад в proxy FAQ