KEEP-ALIVE EN APACHE: QUÉ ES Y CÓMO CONFIGURARLO

Keep-Alive en Apache es una funcionalidad que permite mantener una conexión TCP abierta entre el cliente (como un navegador web) y el servidor para múltiples solicitudes HTTP, en lugar de abrir y cerrar una nueva conexión para cada recurso solicitado (como imágenes, CSS, JavaScript, etc.). Esto reduce la latencia y el uso de recursos, lo que hace que mejore el rendimiento de la carga de páginas web. Con Keep-Alive activado, el cliente y el servidor acuerdan mantener la conexión abierta durante un tiempo determinado (definido por parámetros como KeepAliveTimeout) para reutilizarla en solicitudes posteriores.

Configuración

  • Se habilita con la directiva "KeepAlive On" en el archivo de configuración (por ejemplo, "httpd.conf" o "apache2.conf").
  • MaxKeepAliveRequests: Define el número máximo de solicitudes que se pueden enviar por una sola conexión Keep-Alive.
  • KeepAliveTimeout: Establece cuánto tiempo (en segundos) el servidor espera entre solicitudes antes de cerrar la conexión.
Ejemplo:

KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

Ventajas

  • Reduce la sobrecarga de establecer nuevas conexiones TCP.
  • Mejora la velocidad de carga de páginas con múltiples recursos.
  • Disminuye el uso de CPU y memoria en el servidor.

Desventajas

  • Puede aumentar el consumo de recursos si hay muchas conexiones inactivas abiertas.
  • En servidores con alta carga, puede ser necesario ajustar KeepAliveTimeout para evitar saturación.
En .htaccess, no puedes configurar directamente las directivas de Keep-Alive debido a su contexto restringido, pero puedes optimizar el comportamiento de las conexiones persistentes con cabeceras o compresión. Si necesitas control total, debes modificar la configuración del servidor.