¿Qué es Keep Alive?
Wikipedia dice sobre Keep Alive: “Es un mensaje enviado desde un dispositivo a otro para comprobar que el enlace entre estos dos está en funcionamiento o para prevenir que este enlace se rompa”. En definitiva, Keep Alive es una forma de comunicación entre el servidor web y el navegador al que le dice “se puede tomar más de un archivo”.

Para poder visualizar páginas web en un navegador este debe poder solicitar archivos desde un servidor web en cualquier lugar.

Habilita Keep Alive en tu servidor.
Habilita Keep Alive en tu servidor.
Hay una “breve comunicación” en que el navegador solicita un archivo y el servidor web dice “sí o no”.

Si el navegador y el servidor tienen que tener esta comunicación para cada archivo de la página, todo el asunto tomaría mucho más tiempo que si el servidor sólo dijera “toma todos los archivos que necesites una sola vez.”

Cuando un navegador web quiere mostrar una página web, debe cargar primero el archivo HTML. Luego, leerá el HTML y solicitará otros recursos como CSS, imágenes o lo que sea que el archivo HTML tenga declarado. Mientras Keep Alive no esté activado, este proceso se puede traducir en mucho tiempo para la descarga de una página web. Las páginas web son a menudo una colección de muchos archivos y, si una nueva conexión (la breve comunicación) tiene que ser ejecutada para todos y cada uno de esos archivos, podría ser más larga la visualización de la página web.

Algunas personas creen erróneamente que no tienen que preocuparse por esto porque las conexiones HTTP, hoy en día, son por defecto persistentes (Keep Alive activado). Si bien esto es cierto, muchas personas utilizan entornos de alojamiento compartido o servidores web que pueden cerrar las conexiones sin el conocimiento del usuario. Esto se hace por razones de rendimiento y, como millones de páginas web se alojan en entornos compartidos, existe una clara necesidad de determinar si sus conexiones mantienen Keep Alive activado.

¿Cómo habilitar Keep Alive?
Desde que se utiliza Keep Alive, por defecto, hay alguna razón por la que tus páginas no lo están utilizando. Esto significa que tu servidor web está configurado para cerrar las conexiones o tu servicio de hosting lo ha deshabilitado. Sin embargo puedes cambiarlo. Hay muchos escenarios donde esto sucede y voy a tratar de cubrir los más comunes.

Para habilitar Keep Alive debes agregar un encabezado HTTP a tus solicitudes. Si no ves habilitado Keep Alive es probable que, cuando solicites una página o recurso, tu encabezado HTTP te diga “connection: close”.

Breve comunicación entre el navegador y el servidor.
Breve comunicación entre el navegador y el servidor.
Esto desactivará Keep Alive y le dirá al servidor que cierre la conexión tan pronto como se descargue un archivo.

Si lo cambiamos a “connection: keep-alive” mantendrá la conexión abierta para que todos los archivos se puedan cargar antes de cerrar la conexión.

Cambiar el encabezado HTTP mediante .htaccess.
Keep Alive se habilita mediante la solicitud hecha en la cabecera HTTP de forma explícita. De esta manera se anularán los ajustes previamente realizados en el servidor. Si no tienes acceso al archivo de configuración del servidor (config.php) puedes agregar encabezados HTTP usando un archivo .htaccess. (Ten en cuenta que cualquier cambio realizado en el archivo .htaccess puede dañar la funcionalidad de tu página web. Te recomiendo leer el artículo, cómo usar el archivo .htaccess, antes de cambiar cualquier configuración a menos que estés familiarizado con .htaccess.)

Copia y pega el siguiente código en tu archivo .htaccess:

<ifModule mod_headers.c>Header set Connection keep-alive</ifModule>
Añadiendo esta línea de código a tu archivo .htaccess creará cabeceras Keep Alive a tus solicitudes y anulará cualquier limitación que presenten algunos servidores.
1. Habilitar Keep Alive en Apache.
Si tienes acceso al archivo de configuración en Apache, puedes habilitar Keep Alive modificando algunas líneas de código como se muestra a continuació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 100

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 100
2. Habilitar Keep Alive en NGINX.
El método Keep Alive puede abordarse mediante el HttpCoreModule. Hay una directiva específica que debes tener en cuenta “keepalive_disable”. Si la ves, asegúrate de saber por qué está deshabilitada antes de quitarla.
3. Habilitar Keep Alive en Litespeed.
Keep Alive está activado por defecto pero tu servidor puede estar usando “smart keep-alive”. Se trata de un entorno en Litespeed específicamente para los sitios web de mucho volumen. Cuando este ajuste este activado, en las herramientas PageSpeed te aparecerá que Keep Alive está deshabilitado.
Smart Keep Alive.
Smart Keep Alive solicitará el archivo inicial (archivo HTML) con una conexión cerrada en la cabecera HTTP. Luego, solicitará todos los demás archivos (CSS, JS, imágenes, etc) con Keep Alive habilitado. Esto permite a muchos usuarios conectarse de inmediato cuando hay muchas solicitudes simultáneas.

Consejo: A menos que tengas un sitio web de mucho tráfico, puedes desactivar Smart Keep Alive en la configuración y, una vez que lo hagas, todas las conexiones usarán Keep Alive.

¿Quieres más?

No te pierdas las actualizaciones del blog y recibe mas información en tu email sobre el correcto “Posicionamiento en Google“.

¡Suscríbete y mantente al día!

Suscríbete…

¿Me Compartes?
Me gustaría conocer tu opinión sobre este artículo en la sección de comentarios que encontrarás a continuación y que lo compartas para que otras personas lo puedan disfrutar. Gracias.
Share on Facebook0Tweet about this on TwitterShare on Google+1

Deja un comentario

Los campos marcados con * son obligatorios.

Borrar formularioEnviar Comentario