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
| Situation | Pick |
|---|---|
| Browser or HTTP library | HTTP |
| Non-HTTP protocol, or a tool that only supports SOCKS | SOCKS5 |
| DNS must resolve from the exit location | SOCKS5 with remote DNS |
| Not sure | HTTP, 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://.