Usando Etags para aumentar el rendimiento de tu servidor en el procesamiento de páginas dinámicas

Usando Etags para aumentar el rendimiento de tu servidor en el procesamiento de páginas dinámicas
Facebook Twitter Flipboard E-mail

Uno de los elementos recomendados por Yahoo para mejorar el rendimiento de nuestros sitios web es el uso de Etags. Con ellos podremos procesar desde nuestro servidor más peticiones, en algunas ocasiones, sin necesidad de enviar por la red páginas dinámicas que no han sido modificadas si el navegador las posee ya cacheada.

Los Etags forman parte de la información que envían los navegadores dentro de las solicitudes HTTP. Sirven para indicarle al servidor web qué versión de una página tenemos almacenada localmente, para que determine si ha cambiado y nos mande una nueva. Normalmente son fácilmente configurables en Apache para las páginas estáticas, pero para las páginas dinámicas normalmente confiamos en el uso de caches en servidor que evitan el procesamiento de nuevo de la página pero no el envío por la red de nuevo de la misma página al usuario (algo que podíamos evitar si ya la tiene cacheada el usuario)

Si usamos este mecanismos de Etag, cada vez que devolvamos una página insertaremos en la cabecera un Etag identificativo cuando el navegador vuelva a solicitarla nos enviará de nuevo ese valor en If-None-Match. Si coinciden, el servidor devolverá un 304 Not Modified, por lo que nos ahorraremos un envío de página. Multiplica esto por todas peticiones que tienes en tu sitio web de páginas dinámicas que no han sido modificadas y que envías al usuario en cada petición, el ahorro de ancho de banda y tiempo por petición es considerable.

El mecanismo para usarlo varía de cada implementación, pero básicamente debemos decidir cuál será nuestro valor de Etag, por ejemplo, la url con la concatenación de la fecha de modificación. Por código fácilmente podemos implementarlo y enviarlo en la cabecera, si coinciden los valores que nos envía el navegador simplemente con devolver el 304 basta para que interprete que tiene que cargar la página que ya tenía en caché.

Más información | Yahoo Best Practices Vía | Haciendo Minube

Comentarios cerrados
Inicio