HTTP и HTTPS прокси: в чём разница и какой выбрать

HTTP- и HTTPS-прокси отличаются одним участком маршрута: шифруется ли соединение между вашим устройством и самим прокси-сервером. Обычный HTTP-прокси общается с браузером открытым текстом, но защищённые сайты всё равно открывает через туннель CONNECT, и содержимое страницы остаётся зашифрованным от браузера до сайта. HTTPS-прокси шифрует ещё и первый отрезок пути, поэтому логин от прокси и адреса посещаемых сайтов не видны тем, кто следит за локальной сетью.
Путаницу создают сами продавцы. Строка «HTTP/HTTPS» в тарифах почти всегда означает обычный HTTP-прокси, который умеет ходить на HTTPS-сайты, а не прокси с TLS-подключением. Разберём оба варианта пошагово: как проходит запрос, что видит владелец прокси в каждом режиме, сведём всё в таблицу и покажем команды curl, которые за минуту покажут, какой режим у вашего сервера.
HTTP- и SOCKS5-прокси
Резидентские прокси по HTTP с CONNECT и SOCKS5 для любых HTTPS-сайтов
Два значения слов «HTTPS-прокси»
Под этим названием скрываются две разные схемы:
- HTTP-прокси с поддержкой CONNECT. Прокси указывается как
http://host:portи работает и сhttp://, и сhttps://сайтами. Так устроены практически все коммерческие прокси, и именно это продавцы называют «поддержкой HTTPS». - Прокси с TLS на входе. Клиент сначала устанавливает с прокси зашифрованное соединение, адрес выглядит как
https://host:port, и уже внутри него отправляет запросы. Такой режим поддерживают меньше программ и меньше провайдеров.
Простое правило: если программа просит только хост, порт и тип «HTTP», а защищённые сайты при этом открываются, у вас первый вариант. Основы самого протокола описаны в статье о том, что такое HTTP-прокси.
Как обычный HTTP-прокси передаёт трафик
Незашифрованные сайты (http://)
Для сайта без TLS клиент отдаёт прокси запрос целиком, причём с полным адресом, а не только путём:
GET http://example.com/catalog?page=2 HTTP/1.1
Host: example.com
Proxy-Authorization: Basic <логин:пароль в base64>Прокси читает каждую строку, подключается к сайту, получает ответ и возвращает его клиенту. Раз он понимает запрос, он может кэшировать файлы, фильтровать адреса, менять заголовки или добавлять свои, например Via. Обратная сторона очевидна: прокси и любой узел между вами и прокси видят полный URL, cookie, поля форм и ответ сервера. Base64 в заголовке авторизации — это кодировка, а не шифрование, так что логин тоже читается из сети.
Защищённые сайты (https://)
Для HTTPS-сайта браузер не передаёт сам запрос. Он просит прокси открыть «сырой» канал:
CONNECT example.com:443 HTTP/1.1
Host: example.com:443
Proxy-Authorization: Basic <логин:пароль в base64>Прокси подключается к сайту, отвечает HTTP/1.1 200 Connection established и дальше просто перекладывает байты в обе стороны. TLS-рукопожатие идёт между браузером и сайтом, и сертификат, который проверяет браузер, принадлежит сайту. Метод CONNECT описан в RFC 9110 (раздел 9.3.6), и многие прокси разрешают его только на порт 443.
Что прокси узнаёт в этом режиме: хост и порт назначения, имя сервера из начала TLS-рукопожатия (SNI), объём и время передачи данных. Пути, параметры запроса, cookie, введённые на странице пароли и сам контент остаются внутри зашифрованной сессии.
Как работает прокси с TLS-шифрованием
С настоящим HTTPS-прокси клиент начинает с TLS-рукопожатия с прокси и проверяет его сертификат. Только после этого он отправляет те же строки GET или CONNECT, но уже под защитой. Если сайт тоже работает по HTTPS, получается TLS внутри TLS: один слой до прокси, второй до сайта.
Что это даёт:
- логин и пароль от прокси не передаются по локальной сети в читаемом виде;
- владелец Wi-Fi или интернет-провайдер видит только факт подключения к прокси, но не строки
CONNECTс именами сайтов; - никто на первом отрезке пути не может подменить ответы обычных HTTP-сайтов.
Чем приходится платить: ещё одно рукопожатие при открытии соединения, немного больше нагрузки на процессор с обеих сторон и более узкая поддержка в программах. curl понимает схему https:// для прокси начиная с версии 7.52.0. Chrome и Firefox подключаются к такому прокси через PAC-файл с директивой HTTPS host:port — о том, как это устроено, рассказывает статья про адрес прокси-скрипта и PAC-файлы. Многие парсеры, боты и антидетект-браузеры по-прежнему предлагают в меню только «HTTP» и «SOCKS5».
Не путать с расшифровкой TLS
Некоторые корпоративные шлюзы идут дальше: завершают TLS-сессию на прокси, читают трафик и открывают к сайту новое зашифрованное соединение. Чтобы браузеры при этом не выдавали предупреждений, на каждый рабочий компьютер ставят корневой сертификат компании. Это отдельная технология со своими правилами, она разобрана в обзоре SSL/HTTPS-прокси. Арендованному прокси для исходящего трафика никакие дополнительные сертификаты на вашем устройстве не нужны. Если провайдер просит их установить, он сможет читать всё, что вы отправляете.
Сравнение в одной таблице
| HTTP-прокси, сайт http:// | HTTP-прокси, сайт https:// (CONNECT) | TLS-прокси, сайт https:// | |
|---|---|---|---|
| Канал от клиента до прокси | Открытый текст | Открытый текст, дальше TLS до сайта | TLS до прокси плюс TLS до сайта |
| Прокси видит URL и содержимое | Да | Нет, только хост и порт | Нет, только хост и порт |
| Прокси может кэшировать и менять страницы | Да | Нет | Нет |
| Локальная сеть видит адрес сайта | Да | Да, в строке CONNECT и SNI | Нет |
| Локальная сеть видит логин от прокси | Да | Да | Нет |
| Дополнительные рукопожатия | Нет | Один обмен CONNECT | CONNECT и TLS до прокси |
| Поддержка в программах | Везде | Везде | curl, PAC-файлы, часть библиотек |
| Типичное применение | Старые сайты, фильтрация в офисе | Парсинг, браузеры, автоматизация | Недоверенные сети, важные учётные записи |
Что происходит со скоростью
CONNECT добавляет один обмен с прокси до начала TLS-рукопожатия с сайтом. TLS-прокси добавляет сверху собственное рукопожатие — с TLS 1.3 это примерно ещё один круг «запрос — ответ». Соединения keep-alive переиспользуются, поэтому задержка возникает один раз на соединение, а не на каждый запрос. На практике расстояние до прокси и его загрузка влияют на скорость гораздо сильнее, чем выбор режима.
Кэширование, классический аргумент в пользу HTTP-прокси, работает только с незашифрованным контентом. Подавляющая часть страниц сегодня загружается по HTTPS, так что вне закрытых офисных сетей кэш прокси почти ничего не ускоряет.
Как проверить, какой режим поддерживает прокси
curl с ключом -v показывает весь обмен. Замените вымышленные адрес и учётные данные на свои:
# HTTP-прокси, защищённый сайт через туннель CONNECT
curl -v -x http://user-7f3k:pass-92ad@203.0.113.15:8080 https://api.ipify.org
# TLS-соединение с самим прокси
curl -v -x https://user-7f3k:pass-92ad@proxy.example.net:8443 https://api.ipify.orgВ выводе первой команды ищите строку CONNECT api.ipify.org:443 и следом HTTP/1.1 200. Если вторая команда обрывается ошибкой TLS вроде «wrong version number», порт работает по обычному HTTP и TLS на нём нет. В обоих случаях команда выводит внешний IP — его можно сверить с результатом нашего онлайн-чекера прокси для того же сервера.
Частые ошибки и что они означают
- 407 Proxy Authentication Required. Прокси не принял логин или пароль либо вашего IP нет в белом списке.
- ERR_TUNNEL_CONNECTION_FAILED в Chrome. Прокси отклонил запрос CONNECT: закрыт порт назначения, сайт заблокирован фильтром или не прошла авторизация.
- Предупреждения о сертификате на всех сайтах. Кто-то на маршруте расшифровывает TLS. Не вводите пароли, пока не выясните, кто именно.
- Ошибки TLS, когда адрес прокси начинается с
https://. Порт ждёт обычный HTTP — верните схемуhttp://.
Какой вариант выбрать
- Парсинг, антидетект-браузеры, запросы к API, работа с аккаунтами. Хватает обычного HTTP-прокси с CONNECT: сайты сами шифруют содержимое. Резидентские прокси Node Proxy принимают HTTP-подключения с CONNECT, а также SOCKS5.
- Публичный Wi-Fi, сеть отеля, провайдер, которому вы не доверяете. Выбирайте TLS-прокси, если программа его поддерживает, или заворачивайте соединение в VPN либо SSH-туннель, чтобы скрыть логин от прокси и имена сайтов.
- Фильтрация и кэширование старых внутренних сайтов в офисе. Подойдёт классический HTTP-прокси, который читает открытый трафик.
- Игры, мессенджеры, почтовые клиенты и другой трафик не из браузера. Оба варианта подходят плохо. SOCKS5-прокси передаёт любые TCP-соединения, а при поддержке с обеих сторон — и UDP.
Частые вопросы об HTTP- и HTTPS-прокси
Может ли HTTP-прокси открывать HTTPS-сайты?
Да. Браузер отправляет запрос CONNECT, прокси открывает туннель на порт 443, и страница шифруется между браузером и сайтом. Прокси лишь пересылает зашифрованные байты.
HTTPS-прокси безопаснее, чем HTTP-прокси?
Он защищает ещё один участок пути — от вашего устройства до прокси. Это скрывает учётные данные прокси и имена сайтов от локальной сети, но владелец прокси по-прежнему видит, к каким хостам вы подключаетесь.
Видит ли провайдер прокси мои пароли на HTTPS-сайтах?
Через обычный туннель CONNECT — нет, сессия зашифрована сертификатом сайта. Исключение — расшифровка TLS, но она работает, только если вы сами установили на устройство корневой сертификат провайдера.
Почему провайдеры пишут HTTP и HTTPS как один протокол?
Потому что это и есть один протокол. Один порт HTTP-прокси обслуживает обычные сайты напрямую, а защищённые — через CONNECT, так что «HTTP/HTTPS» в тарифе описывает, куда прокси может подключиться, а не то, как к нему подключаетесь вы.
Какие порты используют HTTP- и HTTPS-прокси?
Жёсткого правила нет. Прокси часто слушают 3128, 8080 или любой порт, который назначил провайдер, а сайты за ними работают на 80 (HTTP) и 443 (HTTPS). Порт всегда берите из личного кабинета.


