Distintas formas de habilitar la extensión Keep-Alive

Distintas formas de habilitar la extensión Keep-Alive

En este tutorial aprenderás 4 métodos diferentes para habilitar Keep Alive. Esta extensión permite que el navegador de un visitante descargue todo el contenido (como JavaScript, CSS, imágenes, videos, etc.) a través de una conexión TCP persistente en lugar de realizar diferentes solicitudes para cada archivo. Esto proporcionará un aumento de velocidad y rendimiento, ya que el navegador de su visitante podrá obtener todo a través de una única conexión HTTP persistente.

En resumen, se trata de un patrón de comunicación entre un servidor web y un navegador con el potencial de reducir drásticamente la cantidad de solicitudes y acelerar una página web. Aquí hay una imagen que ayudará a comprender la diferencia y los beneficios de Keep-Alive:

keep alive

Ventajas de habilitar Keep Alive

  • Keep-Alive reduce el uso del CPU y la memoria debido a una menor cantidad de generación de peticiones HTTP. Esto beneficiará a los usuarios de todas las plataformas de alojamiento (hosting gratuito, hosting compartido, VPS).
  • Provee HTTP pipelining (entrega de solicitudes a través de la misma conexión TCP).
  • Las peticiones HTTPS necesitan más tiempo de CPU y recursos. Keep-Alive beneficiará en gran medida a tu sitio web si utilizas HTTPS y SSL.
  • Reduce la demora y aumenta en general la velocidad de carga y el rendimiento.
  • Keep-Alive es soportado por todos los navegadores actuales.
  • También favorecerá a tu sitio web en términos de SEO y posicionamiento debido a un mejor rendimiento del sitio.

En resumen, Keep-Alive es una gran manera de reducir el uso de recursos y aumentar la velocidad de tu sitio web al mismo tiempo.

Lo que necesitarás

Antes de comenzar esta guía, necesitarás lo siguiente:

  • Acceso al archivo .htaccess
  • Acceso a httpd.conf (opcional)
  • Acceso a HttpCoreModule (opcional)

Paso 1 – Analizar tu sitio

Lo primero que tendrás que hacer es analizar tu sitio con una herramienta como GTMetrix para determinar si Keep-Alive está habilitado o deshabilitado en tu servidor. Así se verán los resultados luego del análisis:

Keep Alive sin funcionar por completo

En algunos servidores, Keep-Alive viene habilitado por defecto. Si tu análisis da una puntuación del 100%, no hace falta hacer nada más.

Paso 2 – Habilitar Keep-Alive

Hay varias formas de habilitar esta opción y todas dependen de tu proveedor de hosting y los servidores. Aquí compartimos algunas opciones:

Opción 1: Editar el archivo .htaccess

Para habilitar Keep-Alive, agregar el siguiente código al archivo .htaccess debería funcionar. Activar Keep-Alive usando .htaccess sustituirá cualquier configuración del servidor y habilitará la conexión persistente.

<ifModule mod_headers.c> 
Header set Connection keep-alive 
</ifModule>

Este método debería de funcionar en la mayoría de los hostings Linux compartidos. En caso de que no sepas dónde encontrar .htaccess, revisa este tutorial.

Opción 2: Habilitar Keep-Alive en Apache mediante el archivo httpd.conf

Si tienes acceso al archivo de configuración de Apache, puedes habilitar la extensión desde allí. Así se debería ver la configuración:

# 
# KeepAlive: Whether or not to allow persistent connections (more than 
# one request per connection). Set to "Off" to deactivate. 
# 
KeepAlive On 

# 
# MaxKeepAliveRequests: The maximum number of requests to allow 
# during a persistent connection. Set to 0 to allow an unlimited amount. 
# We recommend you leave this number high, for maximum performance. 
# 
MaxKeepAliveRequests 50 

# 
# KeepAliveTimeout: Number of seconds to wait for the next request from the 
# same client on the same connection. 
# 
KeepAliveTimeout 10
  • KeepAlive On: Esta sección habilita la extensión.
  • MaxKeepAliveRequests: Esta sección establece el número máximo de solicitudes para una sola conexión. 50 solicitudes para una conexión es una excelente opción.
  • KeepAliveTimeout: Esta sección determina por cuánto tiempo el servidor esperará por una nueva solicitud del cliente. Se recomienda empezar por un valor pequeño como 5 o 10 segundos e ir incrementando el valor si se requiere posteriormente. Poner valores muy altos puede causar una sobrecarga en el servidor.

Si no puedes localizar el archivo httpd.conf, ejecuta el siguiente comando en la línea de comandos:

find / -name httpd.conf

Opción 3: Habilitarlo en NGINX

Generalmente Keep-Alive está habilitado por defecto en NGINX, pero en algunos casos, puede no estarlo. Puedes habilitarlo usando el módulo HttpCoreModule. Tienes que ver el valor keepalive_disable, el cual, en muchos casos es la razón por la que Keep-Alive puede no estar funcionando. Antes de habilitarlo, debes de asegurarte de que sabes la razón por la que está deshabilitado antes de querer hacer cualquier cambio.

Opción 4: Windows Server (ISS)

Si estás usando un servidor basado en Windows, puedes habilitar fácilmente la extensión usando las siguientes líneas de comandos.

Esta línea de comandos la habilita:

appcmd set config /section:httpProtocol /allowKeepAlive:true

Si deseas deshabilitarla, usa está línea de comando:

appcmd set config /section:httpProtocol /allowKeepAlive:false

Puedes ver el tutorial oficial hecho por Microsoft si tienes alguna duda al respecto.

Paso 3 – Comprobar los cambios

Una vez que hayas habilitado Keep-Alive, vuelve a analizar tu sitio con GTMetrix u otra herramienta de análisis de performance para ver que los cambios se hayan realizado correctamente. Así se verán los resultados:

Keep Alive totalmente funcional

También es posible revisar si Keep-Alive está habilitado revisando tu cabecera HTTP. Esto se puede hacer desde una terminal usando el siguiente comando:

curl -I http://example.com/example.php

Por ejemplo:

curl -I http://tupaginaweb.com/index.php

El resultado sería algo como:

HTTP/1.1 301 Moved Permanently 
Connection: keep-alive 
Server: nginx 
Date: Fri, 23 Dec 2016 18:58:14 GMT 
Content-Type: text/html 
Content-Length: 178 
Location: https://www.hostinger.com/index.php

La parte Connection: keep-alive es la parte que te indica que la extensión está habilitada.

Conclusión

En resumen, habilitar Keep Alive para tu sitio web es una excelente manera de mejorar la velocidad y el rendimiento. La conexión TCP persistente garantizará tiempos de carga más rápidos y una mayor eficiencia, manteniendo felices a tus visitantes.

Si deseas mejorar aún más tu sitio web, estos artículos también te ayudarán:

Comprimir tu página y el CSS con Gzip

Por qué usar imágenes escaladas

Minificar CSS, HTML y JavaScript

Usar imágenes JPEG progresivas

Author
El autor

Gustavo B.

Gustavo es un apasionado por la creación de sitios web. Se enfoca en la aplicación de estrategias SEO en Hostinger para España y Latinoamérica, así como la creación de contenidos de alto nivel. Cuando no está aplicando nuevos trucos en WordPress lo puedes encontrar tocando la guitarra, viajando o tomando un curso online.