socks use a handshake protocol to inform the proxy software
about the connection that the client is trying to make and may
be used for any form of tcp or udp socket connection,
whereas a HTTP proxy analyses the HTTP headers sent through
it in order to deduce the address of the server and therefore may
only be used for HTTP traffic
Similar to proxy server socks proxy will retrieve web page for you
provide its own identity to the sites it visits.
in contrast to all http proxy servers with exception of https proxy,
socks proxy server will never spill client IP address because variable
HTTP_Client_IP and HTTP_Forwarded_For_IP responsible for spilling
of client IP address do not exist.