Socket secure (or “SOCKS”) is a protocol for handling TCP traffic through a proxy server. SOCKS Version 5 adds additional support for security and UDP. SOCKS proxies do not interpret network traffic, which means they are not able to understand what is being passed from the client to the server and vice versa, and that makes the connection secure.
SOCKS uses a handshake protocol to inform the proxy software about the connection that the client is trying to make. It’s capable of transferring all information from a client to a server even through firewalls because the web server views the SOCKS proxy as the client.
Comparison to HTTP proxies
HTTP protocol is the standard proxy protocol for the Internet, specifically designed to transfer website data. HTTP proxies are mainly used to fetch and receive within that protocol, rather than other types of network connections (unlike SOCKS, which can accommodate virtually any protocol, program or type of traffic). That includes specific network ports, through which all HTTP traffic is usually routed.
Due to these factors, HTTP proxies are the more common of the two types, and usually, people refer to them when they talk about proxy use.
Also, SOCKS proxies operate at what’s called a “lower level” than the HTTP proxy. However, that actually makes them more secure. Unlike a SOCKS server, an HTTP proxy server does understand and interpret the network traffic that passes between the client and downstream server, which means that the company that owns it could be logging users’ data.