Journal All articles

HTTP vs. SOCKS5: which proxy protocol fits your client?

FundamentalsSep 2, 2026·1 min read

05 Fundamentals

A plain comparison of the two protocols, what your client needs to support, and when the difference matters.

Configure your connection

Every Semaphore IP speaks both protocols on the same port, so this is a question about your client, not about the proxy.

HTTP proxies

An HTTP proxy understands HTTP. For plain HTTP it forwards the request; for HTTPS the client sends CONNECT host:443 and the proxy opens a tunnel, so the TLS session runs end to end between you and the target. The proxy sees the hostname, not the content.

Use HTTP when your client is a browser, a headless browser or an HTTP library. Support is universal and configuration is one URL.

SOCKS5 proxies

SOCKS5 works one layer down. It forwards TCP connections without caring what protocol runs inside, which makes it the choice for non-HTTP traffic and for tools that prefer SOCKS. With remote DNS resolution the target hostname is resolved by the proxy, so the lookup also appears to come from the exit location.

When it matters

SituationPick
Browser or HTTP libraryHTTP
Non-HTTP protocol, or a tool that only supports SOCKSSOCKS5
DNS must resolve from the exit locationSOCKS5 with remote DNS
Not sureHTTP, then switch if a tool asks for SOCKS

Authentication is the same

Both protocols accept the same username and password or the same IP allowlist. Only the scheme in the URL changes: http:// or socks5://.