Glosario

¿Qué es un proxy HTTP?

Un proxy HTTP es un servidor proxy que entiende y reenvía tráfico HTTP (y, mediante el método CONNECT, también HTTPS), operando en la capa de aplicación y siendo capaz de inspeccionar, modificar o almacenar en caché los datos de solicitudes y respuestas para HTTP sin cifrar.

Descubre en qué se diferencian los proxies HTTP de SOCKS5, qué hace HTTP CONNECT y por qué los proxies HTTP son el protocolo predeterminado que admiten la mayoría de los scrapers y clientes HTTP.

Explicado

Un proxy HTTP es el tipo más común de servidor proxy. Entiende HTTP en la capa de aplicación: cuando tu cliente envía una solicitud, el proxy puede leer la URL, las cabeceras y (para HTTP sin cifrar) el cuerpo, antes de reenviar la solicitud al destino. Para HTTPS, el proxy utiliza el método CONNECT para establecer un túnel TCP hacia el destino, tras lo cual simplemente retransmite bytes cifrados sin ver el contenido.

La mayoría de los servicios de proxy comerciales, incluidos los proveedores residenciales, ISP y de centros de datos, exponen endpoints de proxy HTTP porque todos los clientes y bibliotecas HTTP los admiten de forma nativa. Configurar las variables de entorno `HTTP_PROXY` y `HTTPS_PROXY`, pasar `proxies={...}` a `requests` de Python, o configurar un indicador de lanzamiento en Playwright funcionan de forma inmediata con URLs de proxy HTTP como `http://user:pass@gate.shifter.io:10000`.

La diferencia entre HTTP y SOCKS5 es principalmente arquitectónica. Los proxies HTTP operan en la capa de aplicación (pueden analizar HTTP); SOCKS5 opera en la capa de transporte (solo reenvía bytes TCP/UDP). Para el scraping HTTPS la diferencia es casi cosmética, ya que ambos terminan tunelizando bytes cifrados, y el soporte de proxy HTTP es más universal en las herramientas.

Cómo funciona

Para HTTP sin cifrar, tu cliente envía la solicitud completa al proxy (`GET http://example.com/path HTTP/1.1` con URL absoluta), el proxy lee la URL, abre una conexión al destino, reenvía la solicitud y retransmite la respuesta de vuelta. Para HTTPS, el cliente primero envía una solicitud `CONNECT example.com:443` al proxy, el proxy abre un túnel TCP hacia el destino, y a partir de ese momento el cliente y el servidor se comunican mediante TLS de extremo a extremo a través del proxy, que simplemente retransmite bytes cifrados.

La autenticación generalmente ocurre a través de la cabecera `Proxy-Authorization` (autenticación básica con usuario:contraseña) o codificando las credenciales en la URL del proxy (`http://user:pass@host:port`). Los parámetros de geolocalización y sesión en los servicios comerciales se codifican típicamente en el nombre de usuario (`customer-USER-country-us-session-12345`).

Tipos

Proxy HTTP de reenvío

El formato que utilizan los servicios de proxy comerciales. Se sitúa delante de los clientes y los representa ante internet. Los clientes configuran explícitamente la dirección del proxy.

Proxy HTTP inverso

Se sitúa delante de los servidores backend. Se utiliza para balanceo de carga, caché y terminación SSL (Nginx, HAProxy, Cloudflare). Los clientes no saben que el proxy inverso está ahí.

Túnel HTTP CONNECT

El mecanismo que usan los proxies HTTP para gestionar HTTPS. El cliente solicita al proxy que abra un túnel hacia el destino y, a continuación, establece la comunicación TLS de extremo a extremo con el destino a través de ese túnel.

Proxy HTTPS

Un proxy HTTP al que te conectas mediante TLS. La conexión entre el cliente y el proxy está cifrada (además del TLS de extremo a extremo a través del túnel CONNECT). Menos habitual; se utiliza en configuraciones orientadas a la privacidad.

Casos de uso habituales

Scraping de contenido HTTP y HTTPS (el caso de uso predominante)
Acceso a APIs a través de una IP de salida fija
Filtrado de tráfico de salida corporativo interno
Almacenamiento en caché de contenido estático para reducir el consumo de ancho de banda
Autenticación centralizada del tráfico saliente
Enrutamiento HTTP por aplicación en entornos de desarrollo y pruebas
Preguntas frecuentes

Preguntas frecuentes

Preguntas frecuentes sobre proxy http.

Un proxy HTTP opera en la capa de aplicación y puede analizar solicitudes HTTP; un proxy SOCKS5 opera en la capa de transporte y reenvía TCP y UDP en bruto. Para HTTPS la diferencia es principalmente cosmética: ambos acaban tunelizando bytes cifrados. SOCKS5 es preferible cuando necesitas hacer proxy de protocolos que no son HTTP (FTP, SMTP, BitTorrent, juegos en línea).