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)?
They are both proxy protocols for layer 4, but...
SOCKS can handle TCP and UDP
HTTP CONNECT can handle only TCP
SOCKS are not encrypted (note: authentication ≠ encryption)
HTTP CONNECT can use TLS
SOCKS are dedicated service
HTTP CONNECT can be cloaked in normal HTTP service