Что такое HTTP-прокси
Что такое SOCKS-прокси
SOCKS- и HTTP-прокси: основные отличия
Сравним два вида прокси по их совместимости с различными протоколами, функциям, безопасности и производительности.
HTTP используют только для браузеров и программ, которые работают по TCP.
SOCKS5 поддерживает TCP и UDP, поэтому он совместим с сервисами, которые не работают с другими прокси.
HTTP-прокси могут обнаруживать одинаковые запросы и кэшировать ответы. Также вы можете настроить HTTP-прокси как фильтр, который не будет пропускать подозрительные сообщения во внутреннюю сеть.
Через SOCKS-прокси можно получить доступ к серверу за межсетевым экраном, например, обойти региональные ограничения по IP.
Прокси условно делят на прозрачные, анонимные и элитные. Подробнее об этой классификации можно прочитать в статье. Прозрачные и анонимные HTTP-прокси изменяют HTTP-заголовки, чтобы добавить в них служебную информацию. Из-за этого конечному серверу, например, сайту, на который вы заходите, проще определить, что вы используете прокси.
SOCKS-прокси анонимные, потому что не изменяют пакеты данных, которые через них проходят. Они передают сетевой трафик в чистом виде, при этом скрывая факт использования прокси и реальный IP-адрес пользователя.
Сами по себе HTTP-прокси не поддерживают шифрование. Но вы можете подключиться к прокси через TLS и для соединения с нужным ресурсом использовать HTTP метод CONNECT, если прокси его поддерживает.
Метод CONNECT создает HTTP-туннель, в котором протокол высокого уровня (HTTP) транспортирует протокол более низкого уровня (TCP). Эти прокси могут подключаться к любому порту, в том числе по безопасным протоколам TLS/SSL, поэтому их называют HTTPS-прокси.
В этой схеме только запрос на подключение c методом CONNECT отправляется по протоколу HTTP. После этого сервер просто проксирует установленное TCP-соединение.
SOCKS-прокси тоже не поддерживают шифрование. Однако можно использовать SSH в качестве SOCKS-сервера. Для этого нужно выделить сокет для прослушивания порта на стороне клиента и сделать динамическую переадресацию портов на уровне приложения. SOCKS позволяет приложению указывать адрес и порт удаленного сервера, к которому оно хочет подключиться. Соединение с этим портом каждый раз будет перенаправляться по защищенному каналу. Поддерживаются обе версии SOCKS: четвертая и пятая. Подробнее о том, как это работает, можно прочитать по ссылке (опция -D для SSH-клиента).
HTTP-прокси быстро загружают веб-страницы, но неэффективны в потоковом воспроизведении видео и аудио.
SOCKS-прокси обычно используют для более общих целей, например, обмена файлами по FTP или в торрент-сетях (P2P). С этими задачами SOCKS5 справляются быстрее HTTP, потому что поддерживают протокол UDP, который не требует подтверждений по итогам сессий и не исправляет ошибки в данных.
Подытожим различия:
Что лучше: HTTP- или SOCKS-прокси
Где купить прокси
Вывод