Combo Cache: Browser cache y Compresión

20 de diciembre, 2016 @ 13:56 — 0 comentariosDescargar PDF

En esta guía vamos a mostraros como combinar varios sistemas de cache.

Todas los códigos están pensados para copiar y pegar en el fichero .htaccess  de vuestra cuenta de hosting. Podéis editar este fichero por varios métodos, FTP, SSH o mediante el Administrador de ficheros de tu cuenta de hosting.

1 - Cache en el Navegador Web (leverage Broser Cache)

Con "Leverage Browser Cache" podemos utilizar el navegador del cliente como una cache, para que no tenga que descargar una y otra vez la misma imagen, script, etc y así aceleramos la carga de la web en los clientes.

Añade estas lineas a tu .htaccess:

## GUEBS - CACHE EN EL NAVEGADOR ##
<IfModule mod_expires.c>
 ExpiresActive On
 ExpiresByType image/jpg "access 1 month"
 ExpiresByType image/jpeg "access 1 month"
 ExpiresByType image/gif "access 1 month"
 ExpiresByType image/png "access 1 month"
 ExpiresByType text/css "access 1 week"
 ExpiresByType application/pdf "access 1 month"
 ExpiresByType application/javascript "access 1 week"
 ExpiresByType application/x-javascript "access 1 week"
 ExpiresByType application/x-shockwave-flash "access 1 week"
 ExpiresByType image/x-icon "access 1 year"
 ExpiresDefault "access 2 days"
</IfModule>
## GUEBS - CACHE EN EL NAVEGADOR ##
Desactivar actualización de cache en el navegador

Cada vez que un cliente carga una web, aunque tenga los ficheros en cache, intentara comprobar que tiene la ultima versión del fichero, por ello siguen lanzando la misma cantidad de conexiones al servidor. Esto es lento.

Podemos desactivar esta función y hacer que el navegador siempre utilice la cache con los plazos que hemos configurado anteriormente. Esto limitara enormemente el numero de conexiones a la web y acelerara la carga de la misma.

Añade estas lineas a tu .htaccess:

## GUEBS - DESACTIVAR ACTUALIZACION DE CACHE EN EL NAVEGADOR ##
Header unset ETag
FileETag None
## GUEBS - DESACTIVAR ACTUALIZACION DE CACHE EN EL NAVEGADOR ##

2 - Compresión de ficheros estáticos

Antes de que los ficheros estáticos (HTML, CSS, JS ...) se manden al cliente, el servidor se encargara de comprimirlos para reducir su tamaño y consumir menos transferencia da datos. Esto puede ser interesante, no solo para nuestro hosting, si no para cuando servimos webs que son consumidas desde dispositivos móviles, donde las tarifas de datos son "caras".

Sin embargo la compresión implica mas trabajo para el servidor, por lo que no en todos los casos es recomendable. Haz una prueba antes y después de activar la compresión para analizar el impacto en tu web.

## GUEBS - COMPRESION ##
<FilesMatch "\\.(js|css|html|htm|php|xml)$">
 SetOutputFilter DEFLATE
</FilesMatch>
## GUEBS - COMPRESION ##

3 - Compresión de respuestas PHP

Para comprimir el HTML que devuelve un script PHP, tendremos que añadir los siguientes parámetros en la configuración PHP.

Para ello podemos seguir esta guía:

Modificar la configuración de PHP

zlib.output_compression = On
zlib.output_compression_level = 2

4 - Comprobaciones

Antes de hacer ninguna comprobacion tenemos que reiniciar los procesos PHP del servidor:

Reiniciar los procesos PHP de tu web

Para realizar las pruebas de rendimiento tenéis multitud de servicios online. algunos ejemplos: