El módulo de Apache mod_deflate
permite al servidor entregar los archivos comprimidos al vuelo. Suele usarse para mejorar el rendimiento (en el sentido de menos tiempo de descarga para el receptor del contenido).
En la petición GET, nuestro navegador debería entregar la cabecera:
Accept-Encoding: gzip,deflate
Cuando mod_deflate funcione, la respuesta del servidor incluirá la cabecera:
Content-Encoding: gzip
…lo que indicará que el contenido servido está comprimido. Al usuario no le importa, ya que el navegador descomprimirá y presentará la página -los datos, etc- de forma transparente.
Para que PHP comprima también la salida, activaremos lo siguiente en php.ini
zlib.output_compression = On
Pasos para utilizar mod_deflate
Activar el módulo mod_deflate en httpd.conf
En la configuración del host virtual, insertar lo siguiente en la sección <VirtualHost> deseada:
# MOD_DEFLATE stuff (see more at <Directory> section
# In order to save CPU, set a minimum level of compression
DeflateCompressionLevel 1
Insertar lo siguiente en la sección <Directory> deseada:
##### MOD_DEFLATE stuff (do not gzip images, etc)
# Insert filter
SetOutputFilter DEFLATE
# Netscape 4.x has some problems…
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
# the above regex won’t work. You can use the following
# workaround to get the desired effect:
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
# Don’t compress images and other stuff
SetEnvIfNoCase Request_URI \
\.(?:gif|flv|zip|exe|mp3|jpe?g|png)$ no-gzip dont-vary
Y finalmente reiniciar nuestro Apache.
Pingback: FreeCliDent: Acelerar la aplicación (I) | Metsu 3.0