Search code examples
httpnetwork-programminghttpsproxysocks

What's the difference between a "Socks Proxy" and a "HTTP Proxy which supports CONNECT request"


I know a socks proxy is a proxy which just relays the traffic to the dst ip:port And a HTTP Proxy which support CONNECT request, it also just relays the traffic to the dest host in the http request header Is there any difference in their functions(efficiency eg)?


Solution

  • They are both proxy protocols for layer 4, but...

    1. SOCKS can handle TCP and UDP
      HTTP CONNECT can handle only TCP

    2. SOCKS are not encrypted (note: authentication ≠ encryption)
      HTTP CONNECT can use TLS

    3. SOCKS are dedicated service
      HTTP CONNECT can be cloaked in normal HTTP service