SOCKS5 и HTTP-прокси
Два протокола, по которым браузер ходит через посредника. Разница в том, на каком уровне посредник работает.
HTTP-прокси понимает веб-запросы: он видит, куда вы идёте, и может их обрабатывать. Для защищённых соединений (https://) он открывает сквозной туннель и дальше содержимое не видит — только адрес узла.
SOCKS5 ничего не понимает и понимать не хочет: он просто переносит байты между вами и узлом. Поэтому через него проходит не только веб, но и любой другой протокол.
| HTTP | SOCKS5 | |
|---|---|---|
| Уровень | веб-запросы | соединение целиком |
| Что видит | адрес узла, заголовки (для http://) | ничего, кроме адреса и порта |
| Не-веб протоколы | нет | да |
| Логин и пароль | да | да |
| Кто чей DNS | обычно прокси | зависит от настройки — важно |
Что из этого важно на практике
Первое — DNS. Если имя сайта разрешает ваш компьютер, а не прокси, то запрос имени уходит мимо туннеля и ваш провайдер видит, куда вы ходите. Это не показывает сайту ваш адрес напрямую, но это утечка. У SOCKS5 поведение зависит от настройки, поэтому проверять надо результат, а не название протокола.
Второе — авторизация. Прокси с логином и паролем в браузере устроен сложнее, чем без него, и здесь чаще всего что-то ломается.
Чем это НЕ является
Выбор протокола почти никогда не является причиной капчи. Мы проверяли это напрямую, когда неделю ловили зацикленную проверку: перебирали в том числе HTTP против SOCKS. Разницы не было — дело оказалось в репутации самого адреса.
Поэтому порядок разбирательства такой: сначала какой адрес (серверный или домашний), потом откуда он выходит на самом деле, и только потом протокол.
Что выбрать
Если продавец даёт оба — берите любой, разницы для браузера вы не заметите. SOCKS5 удобнее, когда тот же прокси нужен не только браузеру. HTTP чуть проще в настройке там, где нужна авторизация.
Важнее другое: проверять каждый адрес на живость и на страну выхода до того, как назначили его аккаунту, а не после.
