Hay muchos tipos de servidores proxy. Estos tipos se pueden agrupar por protocolo, número de usuarios activos (servidores proxy compartidos, apoderados privados, y representantes vírgenes), el tipo de dirección IP asignada (proxy públicos o gratuitos, apoderados residenciales, servidores proxy móviles, y servidores proxy del centro de datos) y la versión IP (Proxies IPv4 e IPv6). Este artículo, sin embargo, se centrará en los servidores proxy HTTP y HTTPS, que se incluyen en la categoría de proxy por protocolo.
Pero primero, analicemos los protocolos en los que se basan los servidores proxy HTTP y los servidores proxy HTTPS.
Comprender HTTP y HTTPS
¿Qué es HTTP?
El Protocolo de transferencia de hipertexto o HTTP es un protocolo a nivel de aplicación sin estado que facilita la comunicación entre aplicaciones cliente (como navegadores web y aplicaciones web) y servidores web (o servidores de interfaz de usuario web).
Es un protocolo de capa 7 (o protocolo de capa de aplicación), lo que significa que está destinado a transmitir datos entre el servidor y el cliente y viceversa. HTTP generalmente admite la transmisión de una variedad de tipos de datos. Estos incluyen datos de texto, video y audio, conocidos colectivamente como hipermedia.
Cuando un cliente quiere acceder a estos datos, que están almacenados en un servidor, envía una solicitud HTTP. Generalmente, la solicitud HTTP contiene lo siguiente:
- Una línea de solicitud que especifica el método HTTP (GET, POST, PUT, DELETE, etc.), la versión HTTP (a continuación) e información adicional sobre el destino de la solicitud (nombre de host y puerto).
- Encabezados, que almacenan información adicional, por ejemplo, cookies.
- Cuerpo del mensaje de solicitud
Al recibir la solicitud e interpretar el mensaje, el servidor envía una respuesta HTTP que contiene los datos solicitados.
¿Cómo funciona HTTP?
Vale la pena señalar que HTTP no realiza sus funciones de forma aislada. De hecho, se ejecuta encima de protocolos de capa de transporte (capa 4), como Protocolo de Control de Transmisión (TCP) y Protocolo de datagramas de usuario (UDP). Además, también se construyó sobre el protocolo IP, que existía en ese momento.
Por su parte, estos protocolos de capa 4 establecen, gestionan y cierran la comunicación entre un servidor y un cliente (dispositivos en red). En pocas palabras, TCP y UDP permiten que las aplicaciones de red, que se encuentran por encima de la cuarta capa (incluidas las aplicaciones que usan HTTP), creen una comunicación cliente-servidor o punto a punto entre sí.
Una vez que se establece la comunicación, HTTP entra en acción para transmitir los datos. TCP o UDP gestiona la comunicación asegurándose de que se ejecute sin problemas y, una vez que cesa la transmisión de datos, estos protocolos de capa 4 cierran la comunicación. En particular, TCP y UDP utilizan números de puerto para identificar las aplicaciones web que "conversan" entre sí. Otro punto a tener en cuenta es que la implementación de HTTP/3, la última versión, utiliza QUIC en lugar de TCP para el aspecto de la comunicación de la capa de transporte. (RÁPIDO es un protocolo de transporte multiplexado implementado en UDP).
Historia de HTTP
HTTP se lanzó por primera vez en 1991, después de dos años de desarrollo por parte de Tim Berners-Lee y su equipo. Desde entonces, el protocolo ha sufrido una evolución que ha visto numerosos cambios y mejoras, dando lugar a varias versiones de HTTP. Estas versiones incluyen:
- HTTP/0.9 (introducido en 1991)
- HTTP/1.0 (estandarizado en 1996)
- HTTP/1.1 (introducido y estandarizado en 1997)
- HTTP/2 (estandarizado en 2015)
- HTTP/3 (introducido en 2022)
¿Qué es HTTPS?
Si bien HTTP es un protocolo popular que se usa ampliamente en Internet, tiene algunas deficiencias, la principal de ellas la seguridad. Con HTTP, toda la información se transmite en texto claro. Por lo tanto, los atacantes pueden verlo fácilmente. De hecho, puede resultar preocupante si los datos contienen datos confidenciales, como información de tarjetas de crédito, contraseñas, nombres de usuario, números de teléfono, números de seguro social, detalles de direcciones y más. Para resolver el enigma de la seguridad, se introdujo HTTPS.
El Protocolo seguro de transferencia de hipertexto (HTTPS) es un protocolo HTTP seguro que cifra todos los datos transmitidos a través de HTTP. HTTPS utiliza el protocolo Secure Sockets Layer (SSL) o Transport Layer Security (TLS) para validar la identidad del servidor web y proteger los datos. SSL utiliza claves (claves públicas y privadas) y certificados digitales para proteger los datos, mientras que TLS se basa en la criptografía para cifrar los datos. TLS también autentica tanto al cliente como al servidor.
Historia de HTTPS
HTTPS se creó en 1994. En ese momento, utilizaba principalmente SSL. Sin embargo, más tarde en 2000, se estandarizó HTTPS que utiliza TLS. Según los observadores, han sido necesarios años para que TLS se utilice ampliamente fuera de los pagos con tarjeta de crédito. Esto se debe particularmente a que los certificados TLS requieren conocimientos técnicos adicionales para su instalación y cuestan dinero. Como resultado, no eran factibles, especialmente para sitios más pequeños. Pero el panorama ha cambiado: los servicios de alojamiento web y las empresas de nube están lanzando programas de certificados de cifrado gratuitos y ofreciendo HTTPS de forma gratuita. Para 2017, La mitad de la web estaba cifrada..
Una vez aclarados los conceptos básicos, centrémonos ahora en qué es un proxy HTTP y qué es un proxy HTTPS, sus similitudes y diferencias, y sus usos.
¿Qué es un proxy HTTP?
Antes de explicar qué es un proxy HTTP, primero comprendamos Qué es un servidor proxy. Un servidor proxy o proxy es un intermediario que se encuentra entre un cliente web y un servidor web. Funciona enrutando el tráfico de Internet a través de sí mismo y, en el proceso, actúa como iniciador de solicitudes y finalizador de respuestas. Generalmente, hay varios servidores proxy, cada uno diseñado para cumplir una función específica.
De hecho, existen proxies configurados para actuar en nombre del cliente de modo que sean percibidos como los originadores de solicitudes y terminadores de respuestas. Estos poderes se conocen como poderes directos. Por otro lado, algunos proxies se pueden configurar para actuar en nombre del servidor. Al ejecutar esta función, parecen ser el punto en el que terminan las solicitudes y se originan las respuestas. Estos proxies se conocen como proxies inversos. Por cierto, los servidores proxy HTTP pueden actuar como servidores proxy directos o inversos, dependiendo de la ubicación en la que se produce la configuración.
Entonces, ¿qué es un servidor proxy HTTP? Es un servidor proxy que sólo enruta el tráfico HTTP a través de sí mismo. El proxy HTTP es un tipo de proxy basado en protocolo junto con Representantes SOCKS5. Sin embargo, a diferencia del proxy SOCKS5, que esencialmente está destinado a facilitar la comunicación a través de un firewall, el proxy HTTP está destinado a actuar como un filtro de contenido de alto rendimiento.
El proxy HTTP normalmente escucha el tráfico HTTP a través de los puertos 80, 8080, 8008 y 3128. También puede escuchar el tráfico HTTPS a través de puerto 3129. Si bien se utiliza principalmente de forma aislada, puede conectarlo a un proxy existente, especialmente si la aplicación que está configurando ya utiliza un servidor proxy. Este arreglo crea un proxy encadenado.
Tipos de servidores proxy HTTP
Hay dos tipos de servidores proxy HTTP, a saber:
1. Proxy de cliente HTTP
Normalmente, un proxy de cliente HTTP reenvía solicitudes a sí mismo (como intermediario) antes de reenviarlas a un servidor o destino de destino. Aparece, por tanto, como originador de las solicitudes.
Un proxy de cliente HTTP enruta todas las solicitudes HTTP salientes y las respuestas HTTP entrantes a través de sí mismo. En el proceso, interpreta todo el contenido de la solicitud y respuesta HTTP. También puede cambiar ciertos contenidos de la solicitud HTTP siempre que se ajusten a las Directrices para los servidores proxy de transformación de contenido web. Generalmente, los servidores proxy de cliente HTTP cambian encabezados HTTP específicos, incluidos user-agent, Accept, Accept-charset, Accept-Encoding, Accept-language, x-forwarded-for y via. También puede convertir el método de solicitud de HEAD a GET y viceversa.
Configurar su sistema y, por extensión, su navegador web para usar un proxy de cliente HTTP (más sobre esto a continuación) hace algunas cosas. Primero, cambia el punto final TCP (puerto y nombre de host) en las URL HTTP al que pertenece al proveedor de proxy HTTP. Como resultado, primero se realiza una conexión TCP a un puerto y host diferente (el puerto y host del proxy) distinto al de las URL HTTP antes de enviarse al host y puerto original/real. Esto se debe a que el proxy no altera el contenido del mensaje, que contiene el host y el puerto reales. Como resultado, un proxy HTTP puede recibir solicitudes en un solo puerto antes de reenviar las solicitudes y los mensajes contenidos en ellas a diferentes servidores y sitios web según los datos de destino contenidos en los mensajes HTTP.
2. Proxy de servidor HTTP
En algunos casos, algunas aplicaciones, como las que se encuentran en un servidor web, no se pueden configurar como originadores y, en su lugar, deben configurarse como puntos finales. Como resultado, aparecen ante los clientes web como el destino de las solicitudes. Cuando estas aplicaciones se configuran como puntos finales, se las conoce como servidores proxy HTTP.
Tipos de servidores proxy HTTP clasificados por anonimato
Los servidores proxy HTTP difieren en el grado de anonimato. Se pueden distinguir los siguientes tipos de servidores proxy HTTP:
- Proxys transparentes: Con proxies transparentes, el usuario normalmente no se da cuenta de que está utilizando una conexión proxy. La conexión proxy sólo es visible para el operador del sitio web o el proveedor de servicios. La principal ventaja de los proxies transparentes es que aumentan la velocidad de conexión al almacenar en caché los datos.
- representantes anónimos: Con servidores proxy anónimos su dirección IP está oculta. En este caso, el sitio web de destino puede ver que estás utilizando un proxy, pero no tu dirección IP real.
- Distorsionar los poderes: Un servidor proxy de este tipo puede ser identificado como proxy por un sitio web de destino, pero comunicará una dirección IP incorrecta.
- Representantes de élite: Estos son servidores proxy anónimos que eliminan los datos del usuario antes de que el proxy intente conectarse al sitio web de destino. Con este tipo de servidores proxy, el sitio web de destino no puede detectar que se está utilizando un proxy ni puede identificar la dirección IP del usuario.
Todo de buena reputación proveedores de proxy que tienen proxies HTTP ofrecen sólo proxies de élite.
Cómo configurar un proxy HTTP
Esta sección se centrará principalmente en cómo crear un proxy de cliente HTTP. Se crea configurando un cliente web (navegador) para enrutar el tráfico HTTP a través de un intermediario. Sin embargo, vale la pena señalar que Cromo, Safari, Mozilla Firefoxy otros navegadores populares no tienen configuraciones de servidor proxy (nativos) en la aplicación.
En cambio, cuando haces clic en la configuración del programa y eliges la opción de proxy, te redirige a la ventana de configuración del proxy de Windows, macOS o Linux. En este sentido, para crear un proxy HTTP, simplemente configure su sistema operativo. Al hacerlo, se creará un proxy HTTP para todo el sistema que funciona con todas las demás aplicaciones web, no solo con su navegador preferido.
Para configurar un proxy HTTP en Windows, siga el procedimiento a continuación:
- Ventanas abiertas' Ajustes > Seleccionar Red e Internet > Elige el Proxy pestaña. Alternativamente, puede usar su navegador para abrir la pestaña Proxy.
- Dirígete al Configuración manual del proxy sección
- En el campo de dirección, ingrese la IP o dirección del host proxy. Además, ingrese el puerto del proxy. Su proveedor de proxy debería proporcionarle los detalles.
- En el cuadro "Usar el servidor proxy excepto para direcciones que comiencen con las siguientes entradas", ingrese la URL de su proveedor de servicios proxy.
- A continuación, verifique el No utilice el servidor proxy para direcciones locales (intranet)
- Hacer clic Ahorrar
Para configurar un proxy HTTP en macOS, estos son los pasos a seguir:
- Hacer clic Preferencias del Sistema > Elige Red > Haga clic en Avanzado > Seleccione el apoderados pestaña. Alternativamente, puede utilizar su cliente web, que abrirá automáticamente el apoderados pestaña
- A continuación, cambie el Proxy web (HTTP) opción
- Introduzca la IP y el puerto del Proxy del servidor web (Proxy HTTP). Normalmente, debe ingresar la IP de su proveedor de servicios proxy e ingresar los puertos 80, 8080 u 8008 en el campo.
- Introduzca el nombre de usuario y la contraseña del proxy HTTP. El nombre de usuario y la contraseña deben ser los mismos que las credenciales que utiliza para acceder a la cuenta que tiene con su proveedor de servicios.
- Hacer clic DE ACUERDO.
Si la seguridad es una consideración central al navegar por la web, entonces el proxy HTTP no es ideal. Lo ideal sería buscar un proxy HTTPS.
¿Qué es un proxy HTTPS?
También conocido como proxy SSL, un proxy HTTPS es un intermediario que solo escucha el tráfico HTTPS en el puerto 443. Como resultado, solo enruta el tráfico HTTPS a través de sí mismo. Como se indicó anteriormente, HTTPS cifra los datos transmitidos a través del protocolo. Esto significa efectivamente que todos los elementos de las solicitudes y respuestas HTTP, incluidos los encabezados y mensajes, están ocultos detrás de una clave criptográfica. Por lo tanto, sólo pueden verse o interpretarse en el punto final o de terminación. Para que un intermediario, como un proxy HTTPS, interprete los datos, debe configurarse como un punto final.
En este sentido, un proxy HTTPS está configurado para actuar como punto final de una conexión TLS o SSL. Por tanto, descifra las solicitudes, interpreta el contenido, cambia ciertos aspectos de las solicitudes, las cifra y, finalmente, las reenvía al destino real contenido en el mensaje HTTP. Como se indicó anteriormente, el protocolo HTTPS utiliza certificados. En consecuencia, el proxy HTTPS debe cifrar el tráfico con el certificado correcto (ya sea de cliente o de servidor) antes de enviarlo al destino previsto. En particular, si el proxy HTTPS no está configurado como punto final, no debe alterar el contenido del encabezado o solicitud HTTP, según lo estipulado en las Directrices para servidores proxy de transformación de contenido web.
Los servidores proxy HTTPS se utilizan generalmente para proteger servidores web o clientes web mediante cifrado.
Tipos de proxy HTTPS
Hay dos tipos de servidores proxy HTTPS:
1. Proxy de cliente HTTPS
Un proxy de cliente HTTPS facilita las conexiones desde un cliente web o una red interna a Internet. Para configurar un proxy de cliente HTTPS, debe importar un certificado de cliente para que lo utilice el dispositivo en el que está instalado el proxy. Esto permite al intermediario descifrar y cifrar datos como si fuera el iniciador de las solicitudes o el finalizador de las respuestas.
2. Proxy de servidor HTTPS
Un servidor proxy HTTPS permite conexiones desde clientes web externos a servidores web internos a través de Internet. Un servidor proxy HTTPS se diferencia de un servidor proxy HTTP porque el primero utiliza certificados, mientras que el segundo no. Para configurar un servidor proxy HTTPS, es importante exportar el certificado predeterminado utilizado por su servidor web al proxy. El certificado permite que el proxy del servidor HTTPS cifre y descifre los datos.
Cómo configurar un proxy HTTPS
La configuración de un proxy HTTPS sigue los procedimientos detallados anteriormente, con solo ligeras diferencias en cuanto a los puertos utilizados. Asegúrese siempre de haber ingresado 443 en el campo del puerto cada vez que cree un proxy HTTPS. Si está utilizando un dispositivo macOS, tenga en cuenta que debe seleccionar el Proxy web seguro (HTTPS) opción en lugar de Proxy web (HTTP). Por lo demás, el procedimiento es prácticamente el mismo.
¿Qué tan segura es una conexión a través de un proxy HTTPS?
Cuando un usuario que utiliza un proxy HTTPS abre una página web con un "icono de candado" a la izquierda de la barra de direcciones, toda la conexión entre el navegador del usuario y el servidor del sitio de destino se cifra (cifrado SSL):
Esto significa que todos los datos ingresados por el usuario en el teclado (nombres de usuario y contraseñas, números de tarjetas de crédito, etc.), las imágenes y los videos descargados, cargados o transmitidos permanecen absolutamente privados.
Navegador <- > Proxy HTTPS <-> Página de destino
Esto significa que sólo los conocen el usuario y el propietario del sitio web de destino.
¿Puede el servicio proxy “escuchar” el tráfico?
No, esto es técnicamente imposible. El proveedor de proxy sólo puede adivinar que el usuario está intentando piratear contraseñas de cuentas en cualquier sitio web. Esto se desprende de la frecuencia de acceso a la página de inicio de sesión del sitio de destino. Esto ocurrirá si el usuario lo hace a una frecuencia de un millón de veces por minuto usando un programa de fuerza bruta.
Proxies HTTP frente a proxies HTTPS: similitudes y diferencias
Similitudes entre los servidores proxy HTTP y HTTPS
- Se pueden configurar tanto en el lado del cliente como en el lado del servidor.
- Los proxies HTTP y HTTPS interpretan los datos transmitidos a través de ellos
- Los proxies escuchan el tráfico a través de los puertos.
- Los servidores proxy del lado del cliente reenvían todas las solicitudes al destino de destino
- Se pueden utilizar proxies del lado del cliente para facilitar el web scraping
Diferencias entre servidores proxy HTTP y HTTPS
servidores proxy HTTP | Proxys HTTPS | |
Puertos | Usan los puertos 80, 8080, 8008, 3128 o 3129 | Usan el puerto 443 |
Seguridad | Los servidores proxy HTTP enrutan datos no cifrados | Los servidores proxy HTTPS enrutan datos cifrados |
Protocolo | Utilizan principalmente el protocolo HTTP. | Utilizan principalmente el protocolo HTTPS. |
Tráfico | Pueden escuchar tráfico HTTP (a través de los puertos 80, 8080, 8008, 3128) y HTTPS (a través del puerto 3129). | Sólo pueden escuchar el tráfico HTTPS a través del puerto 443. |
Usos de los servidores proxy HTTP y HTTPS
Usos de los servidores proxy de cliente HTTP y los servidores proxy de cliente HTTPS
1. Raspado web
raspado web se refiere al proceso automatizado de extracción de datos de sitios web mediante robots conocidos como web scrapers. Normalmente, estos robots están diseñados para extraer grandes volúmenes de datos, lo que puede sobrecargar los servidores web al usurpar recursos innecesariamente. Por esta razón, la mayoría de los sitios web grandes están implementando medidas anti-scraping destinadas a detener cualquier esfuerzo de extracción de datos. Afortunadamente, puedes solucionar este problema utilizando servidores proxy HTTP.
Los servidores proxy HTTP suelen pasarse por alto cuando se trata de extracción de datos. Esto se debe a que se prefieren los servidores proxy residenciales, móviles o de centros de datos, ya que enmascaran la dirección IP de la computadora en la que se ejecuta el raspador. Asigna simultáneamente una dirección IP diferente, proporcionando efectivamente anonimato en línea. Además, protege la dirección IP real para que no sea bloqueada o prohibida. Si la dirección IP se rota periódicamente, las posibilidades de bloqueo se reducen aún más. Pero este artículo no trata sobre servidores proxy residenciales o de centros de datos. Entonces, ¿cómo se utilizan los proxies HTTP y los proxies HTTPS en el web scraping?
Como se indicó, un proxy HTTP o HTTPS puede cambiar algunos encabezados de solicitud HTTP. Estos incluyen el agente de usuario, el idioma de aceptación, la codificación de aceptación y la aceptación, solo por mencionar algunos. El agente de usuario almacena información sobre su sistema operativo (tipo y versión), la aplicación cliente en uso (navegador web) y el motor del navegador. Esta información permite que un servidor web identifique el tipo de dispositivo y software utilizado para acceder a él. Luego utiliza esta información para crear una identidad en línea asociada con el usuario. Al alterar el agente de usuario, un proxy HTTP y un proxy HTTPS pueden hacer que parezca que las solicitudes se originan en diferentes dispositivos. Esto impulsa el web scraping, ya que las solicitudes de extracción de datos parecen haber sido enviadas por múltiples dispositivos.
2. Filtración de contenido
Se puede configurar un proxy de cliente HTTP o un proxy de cliente HTTPS para reenviar solo solicitudes específicas; dichas solicitudes deben cumplir ciertas reglas. Por ejemplo, deben enviarse a través de puertos específicos. Se deniega el acceso si el cliente HTTP utiliza un puerto distinto de 80, 8080, 8008, 3128 o 3129.
Además, debe especificar los tipos de contenido que el proxy HTTPS o HTTP debe examinar mientras examina el tráfico hacia y desde un cliente. El tráfico se bloquea si el contenido no coincide con los criterios especificados en la configuración. Por el contrario, si el contenido coincide, se le permite pasar a través del intermediario.
3. Comunicación segura
Se puede configurar un proxy HTTP para convertir los datos entrantes de texto sin formato en datos salientes cifrados y seguros que puedan ser aceptados por los servidores HTTPS. Sin embargo, esta configuración es inusual, pero implica el uso del puerto 3130, que es el puerto que maneja la comunicación de texto sin formato a SSL.
Por otro lado, los servidores proxy HTTPS protegen la comunicación cifrándola. De esta forma, los proxies HTTPS fomentan la ciberseguridad, ya que reducen las posibilidades de sufrir ciberataques.
4. Gestión de redes sociales
A estas alturas, es de conocimiento común que los servidores proxy HTTP modifican algunos aspectos del encabezado HTTP. Así, al cambiar el agente de usuario, estos intermediarios pueden crear la ilusión de que las solicitudes se originan en diferentes dispositivos. Esto puede permitir a los usuarios crear y administrar múltiples cuentas de redes sociales.
Usos de los servidores proxy HTTP y los servidores proxy HTTPS
1. Limitar el tráfico al servidor web
Los servidores proxy se pueden configurar para aceptar tráfico que cumpla ciertas reglas. Como tales, bloquean el tráfico que no cumple los requisitos. De esta manera, protegen el servidor asegurándose de que no procese solicitudes innecesarias.
2. Asegurar el servidor web
Los servidores proxy pueden descifrar los datos de los clientes web y posteriormente interpretarlos. Esta acción les permite filtrar las solicitudes y escanearlas en busca de malware u otros archivos maliciosos. De este modo protegen el servidor web contra ataques cibernéticos.
3. Almacenamiento en caché de archivos a los que se accede con frecuencia
Los servidores proxy HTTP y los servidores proxy HTTPS pueden almacenar archivos a los que se accede con frecuencia, como imágenes y páginas. Esto libera el servidor web, permitiéndole dedicar recursos a otras operaciones menos comunes. También aumenta la velocidad de carga de las páginas web.
Conclusión
Los servidores proxy HTTP y los servidores proxy HTTPS son intermediarios útiles, particularmente desde una perspectiva de seguridad y filtrado de contenido. De hecho, se les conoce como filtros de contenido de alto rendimiento. Esto se debe a que se pueden configurar para permitir el paso únicamente de tráfico de Internet específico. Estos servidores proxy también cumplen muchas otras funciones, incluida la protección de servidores web, el almacenamiento de archivos a los que se accede con frecuencia, la gestión de redes sociales, el web scraping y más.