El protocolo SOCKS y su diferencia con HTTP

SOCKS es un protocolo que facilita la ruta de los paquetes que se envían entre un cliente y un servidor a través de un servidor proxy. Originalmente, Socks5 fue un sistema de protocolo que ofrecía mucha seguridad, puesto que creaba firewalls y otros métodos de seguridad fáciles de administrar.

La versión 5 de Socks, que es una exensión de Socks 4, y provee un poderoso sistema de autentificación e incluye UDP, mientras que Socks 4 sólo ofrece un sistema de firewall inseguro basado en aplicaciones cliente-servidor TCP, incluidos TELNET, FTP y protocolos como HTTP, WAIS y GOPHER.

Pero ¿cuál es exactamente la diferencia entre proxies SOCKS y HTTP?

SOCKS: Bill quiere comunicarse con Jane a través de Internet, pero un firewall de su propia conexión no está autorizado a comunicarse a través de él. Por tanto, se conecta a una proxy SOCKS de su red y envía información sobre la conexión que desea hacer con Jane. El proxy SOCKS abre una conexión a través del firewall y facilita la comunicación entre Bill y Jane.

HTTP: Bill quiere descargarse una página Web que hospeda Jane en un Servidor Web. Bill no puede conectarse directamente al servidor de Jane, porque un firewall en la red se lo impide. Para poder comunicarse con el servidor, Bill se conecta a su red proxy HTTP. Su navegador de Internet se comunica con el servidor proxy y envía una cabecera HTTP solicitando la conexión. El servidor proxy HTTP lee la petición y busca el host de la cabecera. Luego se conecta al servidor especificado en al cabecera y transmite datos a Bill.

Fuente: Internet Lab