Посредник, который понимает запросы
У веб-прокси два режима работы, и разница между ними определяет, что посредник знает о вашем визите. В терминологии стандарта HTTP-прокси — это передающий агент, которого выбирает сам клиент: он принимает запросы и старается их выполнить, обращаясь дальше по сети. В отличие от SOCKS5 он разбирает структуру веб-запроса, а не просто проводит байты.
Из этого следуют два разных режима работы, и разница между ними определяет, что посредник знает о вашем визите.
Режим первый: обычный запрос
Для незащищённого соединения прокси получает запрос целиком и выполняет его сам. Ему доступен полный адрес страницы, заголовки, содержимое. Он может его кешировать, изменять заголовки, вести подробный журнал. Именно так работают корпоративные фильтры.
Режим второй: туннель через CONNECT
Для защищённого соединения такой подход не годится — содержимое зашифровано между вами и сайтом. Здесь используется метод CONNECT, описанный в разделе 9.3.6 стандарта RFC 9110: он просит посредника установить туннель до указанного узла.
Стандарт описывает туннель как слепой ретранслятор между двумя соединениями, который не меняет сообщения. После установки туннель не считается участником обмена — он просто передаёт данные в обе стороны.
Что посредник видит при HTTPS
Точный ответ важен, потому что вокруг него много путаницы.
Прокси знает узел назначения и порт — без них он не смог бы построить туннель, они передаются в самом запросе CONNECT. Он видит объём переданных данных и время соединения.
Он не видит содержимое: какие именно страницы вы открывали внутри сайта, что вводили в формы, что скачивали. Для него это непрозрачный поток.
То есть владелец HTTP-прокси получает список сайтов, куда вы ходили, с вашим настоящим адресом рядом. Для части задач это приемлемо, для части — ровно та информация, которую и хотели скрыть.
Где это настраивается
В системных параметрах сети — тогда настройку подхватывают приложения, которые её читают. Chrome по умолчанию берёт системные настройки прокси, а Firefox имеет собственные и системные может игнорировать.
Отдельная история — файл автоматической настройки: вместо фиксированного адреса указывается ссылка на скрипт, который решает, для какого узла использовать посредника, а для какого идти напрямую. В командной строке ту же роль играют переменные окружения вида HTTP_PROXY и HTTPS_PROXY, их читают консольные утилиты.
Прозрачный прокси, о котором вас не спросили
Существует схема, где посредник стоит в разрыве канала и перехватывает соединения без всякой настройки на вашей стороне. В параметрах устройства при этом пусто, адрес и порт никто не вводил.
Так устроены фильтры в публичных сетях и часть корпоративных контуров. Признак обычно один: браузер сообщает о проблеме с сертификатом на сайтах, которые в другой сети открываются без замечаний, — это значит, что защищённое соединение пытаются разобрать по дороге.
Проверить, идёт ли трафик через посредника, можно по адресу, который видит внешний сайт: если он не совпадает с вашим обычным, между вами и сетью кто-то есть.