stringtranslate.com

Calamar (software)

La pila LAMP con Squid como caché web.

Squid es un proxy web HTTP de almacenamiento en caché y reenvío . Tiene una amplia variedad de usos, incluida la aceleración de un servidor web mediante el almacenamiento en caché de solicitudes repetidas, el almacenamiento en caché de la World Wide Web (WWW), el sistema de nombres de dominio (DNS) y otras búsquedas de red para un grupo de personas que comparten recursos de red, y ayuda a la seguridad. filtrando el tráfico. Aunque se utiliza principalmente para HTTP y el Protocolo de transferencia de archivos (FTP), Squid incluye soporte limitado para varios otros protocolos , incluidos Internet Gopher , Secure Sockets Layer (SSL), [7] Transport Layer Security (TLS) y Hypertext Transfer Protocol Secure ( HTTPS ). . Squid no es compatible con el protocolo SOCKS , a diferencia de Privoxy , con el que se puede utilizar Squid para brindar soporte SOCKS.

Squid fue diseñado originalmente para ejecutarse como un demonio en sistemas tipo Unix . Se mantuvo un puerto de Windows hasta la versión 2.7. Las nuevas versiones disponibles en Windows utilizan el entorno Cygwin . [8] [9] Squid es un software gratuito publicado bajo la Licencia Pública General GNU .

Historia

Squid se desarrolló originalmente como el caché de objetos Harvest , [7] parte del proyecto Harvest en la Universidad de Colorado Boulder . [10] [11] Se completó el trabajo adicional en el programa en la Universidad de California, San Diego y se financió a través de dos subvenciones de la Fundación Nacional de Ciencias . [12] Duane Wessels bifurcó la "última versión precomercial de Harvest" y le cambió el nombre a Squid para evitar confusión con la bifurcación comercial llamada Cached 2.0, que se convirtió en NetCache . [13] [14] La versión 1.0.0 de Squid se lanzó en julio de 1996. [13] SquidNT , un puerto del servidor proxy de Squid, se fusionó con el proyecto principal de Squid en septiembre de 2006. [15]

El calamar ahora se desarrolla casi exclusivamente a través de esfuerzos voluntarios.

En octubre de 2023, se reveló que Squid seguía sufriendo 35 vulnerabilidades de seguridad que no se habían solucionado durante dos años y medio después de su informe inicial. [dieciséis]

Funcionalidad básica

Después de instalar un servidor proxy Squid, los navegadores web se pueden configurar para usarlo como un servidor HTTP proxy , lo que permite a Squid conservar copias de los documentos devueltos, lo que, en solicitudes repetidas de los mismos documentos, puede reducir el tiempo de acceso y el ancho de banda. consumo. Esto suele ser útil para que los proveedores de servicios de Internet aumenten la velocidad para sus clientes y para las LAN que comparten una conexión a Internet . Debido a que los servidores de almacenamiento en caché están controlados por el operador del servicio web, los servidores proxy de almacenamiento en caché no anonimizan al usuario y no deben confundirse con los servidores proxy anónimos.

Un programa cliente (por ejemplo, un navegador) tiene que especificar explícitamente el servidor proxy que desea utilizar (típico de los clientes ISP), o podría utilizar un proxy sin ninguna configuración adicional: "almacenamiento en caché transparente", en cuyo caso todas las solicitudes HTTP salientes son interceptados por Squid y todas las respuestas se almacenan en caché. Este último suele ser una configuración corporativa (todos los clientes están en la misma LAN) y a menudo presenta las preocupaciones de privacidad mencionadas anteriormente.

Squid tiene algunas características que pueden ayudar a anonimizar las conexiones, como deshabilitar o cambiar campos de encabezado específicos en las solicitudes HTTP de un cliente . Si están configurados y para qué están configurados, depende de la persona que controla la computadora que ejecuta Squid. Es posible que las personas que solicitan páginas a través de una red que utiliza Squid de forma transparente no sepan si esta información se está registrando. [17] Al menos dentro de las organizaciones del Reino Unido, los usuarios deben ser informados si se están monitoreando computadoras o conexiones a Internet. [18]

proxy inverso

La configuración anterior, que almacena en caché el contenido de un número ilimitado de servidores web para un número limitado de clientes, es la clásica. Otra configuración es " proxy inverso " o "aceleración del servidor web" (usando http_port 80 accel vhost ). En este modo, la caché sirve a un número ilimitado de clientes para un número limitado de servidores web (o solo uno).

Como ejemplo, si slow.example.com es un servidor web "real" y www.example.com es el servidor de caché Squid que lo "acelera", la primera vez que se solicita una página desde www.example.com , el El servidor de caché obtendría la página real de slow.example.com , pero las solicitudes posteriores obtendrían la copia almacenada directamente del acelerador (durante un período configurable, después del cual la copia almacenada se descartaría). El resultado, sin ninguna acción por parte de los clientes, es menos tráfico al servidor de origen, lo que significa menos uso de CPU y memoria, y menos necesidad de ancho de banda. Sin embargo, esto significa que el servidor de origen no puede informar con precisión sobre sus números de tráfico sin una configuración adicional, ya que todas las solicitudes parecerían provenir del proxy inverso. Una forma de adaptar los informes en el servidor de origen es utilizar el encabezado HTTP X-Forwarded-For informado por el proxy inverso para obtener la dirección IP real del cliente.

Es posible que un servidor Squid sirva simultáneamente como proxy normal y proxy inverso. Por ejemplo, una empresa podría alojar su propio sitio web en un servidor web, con un servidor Squid actuando como proxy inverso entre los clientes (clientes que acceden al sitio web desde fuera de la empresa) y el servidor web. El mismo servidor Squid podría actuar como un caché web clásico, almacenando en caché las solicitudes HTTP de clientes dentro de la empresa (es decir, empleados que acceden a Internet desde sus estaciones de trabajo), acelerando así el acceso web y reduciendo las demandas de ancho de banda.

Límites de rango de medios

Por ejemplo, una característica del protocolo HTTP es limitar una solicitud al rango de datos en el recurso al que se hace referencia. Esta característica se utiliza ampliamente en sitios web de transmisión de video como YouTube , de modo que si un usuario hace clic en el centro de la barra de progreso del video, el servidor puede comenzar a enviar datos desde la mitad del archivo, en lugar de enviar el archivo completo desde el final. comenzando y el usuario esperando a que los datos anteriores terminen de cargarse.

Microsoft Windows Update también utiliza ampliamente las descargas parciales para que los paquetes de actualización extremadamente grandes puedan descargarse en segundo plano y pausarse a mitad de la descarga, si el usuario apaga su computadora o se desconecta de Internet.

El formato de descarga de Metalink permite a los clientes realizar descargas segmentadas emitiendo solicitudes parciales y distribuyéndolas en varios espejos.

Squid puede transmitir solicitudes parciales al servidor web de origen. Para que una solicitud parcial se cumpla a gran velocidad desde la memoria caché, Squid requiere que ya exista una copia completa del mismo objeto en su almacenamiento.

Si un usuario de video proxy está viendo una transmisión de video y navega a una página diferente antes de que el video se descargue por completo, Squid no puede conservar la descarga parcial para reutilizarla y simplemente descarta los datos. Se requiere una configuración especial para forzar que dichas descargas continúen y se almacenen en caché. [19]

Sistemas operativos compatibles

Squid es compatible con muchos sistemas operativos , incluidos:

Ver también

Referencias

  1. ^ "Logotipo del Proyecto Calamar" . Consultado el 6 de julio de 2014 .
  2. ^ "¿Quién se ocupa del proyecto Squid?".
  3. ^ "squid: optimización de la entrega web". 10 de junio de 2024 . Consultado el 10 de junio de 2024 .
  4. ^ squid-cache/squid, Squid, 27 de julio de 2022 , consultado el 27 de julio de 2022
  5. ^ "¿Cuál es el mejor sistema operativo para Squid?".
  6. ^ "Licencia de calamar".
  7. ^ ab C.Mic Bowman, Peter B. Danzig, Darren R. Hardy, Udi Manper, Michael F. Schwartz, Sistema de acceso y descubrimiento de información The Harvest, Redes informáticas y sistemas RDSI, Volumen 28, Números 1 y 2, diciembre de 1995, Páginas 119–125. doi:10.1016/0169-7552(95)00098-5
  8. ^ "Calamar para Windows". GitHub . Febrero de 2024. La versión actual se basa en la última versión de Squid 4 para Cygwin Windows de 64 bits.
  9. ^ "Base de conocimientos de Squid-cache.org". Calamar en Windows
  10. ^ Introducción a Squid, en el sitio web de Squid
  11. ^ Harvest cache ahora disponible como "acelerador httpd", por Mike Schwartz en la lista de correo http-wg, martes 4 de abril de 1995, remitido por Brian Behlendorf a la lista de correo de desarrolladores del servidor Apache HTTP
  12. ^ "Patrocinadores de calamar". Archivado desde el original el 11 de mayo de 2007 . Consultado el 13 de febrero de 2007 . La NSF fue la principal fuente de financiación para el desarrollo de Squid entre 1996 y 2000. La Universidad de California en San Diego administró dos subvenciones (#NCR-9616602, #NCR-9521745) recibidas a través de la División de Investigación e Infraestructura de Redes Avanzadas (ANIR).
  13. ^ ab Duane Wessels Squid e ICP: pasado, presente y futuro, actas del grupo australiano de usuarios de Unix. Septiembre de 1997, Brisbane, Australia.
  14. ^ "netcache.com". Archivado desde el original el 12 de noviembre de 1996 . Consultado el 7 de agosto de 2012 .
  15. ^ "Preguntas frecuentes sobre Squid: ¿Squid se ejecuta en Windows?".
  16. ^ "55 vulnerabilidades en Squid Caching Proxy y 35 0 días". 11 de octubre de 2023.
  17. ^ Consulte la documentación de header_access y header_replace para obtener más detalles.
  18. ^ Consulte, por ejemplo, Monitoreo informático en el lugar de trabajo y su privacidad.
  19. ^ "Referencia de configuración de Squid" . Consultado el 26 de noviembre de 2012 .
  20. ^ Puertos OS/2 por Paul Smedley, Puertos OS/2
  21. ^ "KnowledgeBase/Windows - Wiki de proxy web de Squid".

Otras lecturas

enlaces externos