An HTTP proxy works similar to a SOCKS server , but is limited on routing HTTP traffic only . SOCKS uses 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 an HTTP proxy analyzes the HTTP headers sent through it in order to infer the address of the server and therefore may only be used for HTTP traffic . The following examples demonstrate the difference between the SOCKS and HTTP proxy protocols :