Facebookfacebook Twitter Emailmail Imprimirprint
Viernes 19 de abril de 2024
Santoral:
Ema
Otros:
Día Internacional de la Bicicleta
Semana:
16
Día año:
110/366 (30%)
U.F.:
Sin información
IPC:
Sin información
Dolar:
Sin información
Euro:
Sin información
Bitcoin:
U$ {bitcoin}
mindicador.cl

Compresión dinámica en Apache

Mejore los tiempos de carga en equipos móviles

Introducción

En algunas ocaciones puede ser favorable el comprimir la salida de nuestra página web, a pesar del consumo de CPU, se benefician principalmente los usuarios que acceden desde celulares por medio de redes 3G (o incluso 2G), considerando además que sus planes de datos generalmente tienen un límite de bytes a transferir, por lo que cualquier ayuda será bienvenida.

Apache nos permite realizar la compresión de manera dinámica, dependiendo de las capacidades del browser utilizado, logrando reducir los datos transferidos del órden de 50% hasta 80%.

Configuración

Al momento de instalar Apache en CentOS (yum install httpd), se incluye el módulo mod_deflate encargado de realizar la compresión, lo que resta, es indicarle que tipo de archivos deberán ser comprimidos, siendo de utilidad para los archivos "texto" como: "HTML" (estáticos o dinámicos con PHP), "JavaScript" y estilos "CSS". Se habilita desde la directiva <Directory> de la configuración de nuestro sitio web o desde el archivo .htacces en la raiz del sitio, con las instrucciones:

<IfModule mod_deflate.c>
    <filesMatch "\.(js|css|html|php)$">
        SetOutputFilter DEFLATE
    </filesMatch>
</IfModule>

Con ello indicamos a Apache que los archivos ".js", ".css", ".html" y ".php" sean procesados en la salida por el filtro DEFLATE, encargado de realizar la compresión. Para un caso práctico, con una hoja de estilo:

curl http://www.wyzer.cl/css/base.css --silent --write-out "Bytes=%{size_download}\n" --output /dev/null Bytes=13163 curl http://www.wyzer.cl/css/base.css -H "Accept-Encoding: gzip,deflate" --silent --write-out "Bytes=%{size_download}\n" --output /dev/null Bytes=3042

Lo que significa un ahorro del 77% de los bytes transmitidos. Y veamos el caso de la página de inicio de www.publimetro.cl:

curl http://www.publimetro.cl --silent --write-out "Bytes=%{size_download}\n" --output /dev/null Bytes=378553 curl http://www.publimetro.cl -H "Accept-Encoding: gzip,deflate" --silent --write-out "Bytes=%{size_download}\n" --output /dev/null Bytes=61643

Para éste caso, la compresión es mucho más favorable, con solo 16,2% de los datos transmitidos

Escrito por: Luis Hernán de la Barra, 04/10/2014
Si tiene interés por alguno de éstos servicios u otro similar, por favor llene el formulario de contacto

Generado por Sistema y almacenado en cache

Wyzer
Luis Hernán de la Barra
Teléfono:   +56995451689
WhatsApp:   +56995451689
E-Mail:info@wyzer.cl
Web:www.wyzer.cl