<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain </IfModule>
la directiva addoutputfilterbytype (mod_filter) aplica el filtro indicado (en este caso, deflate) a los archivos de los tipos mime señalados (esto es, text/html, text/xml, text/css y text/plain). a partir de la versión 2.4 de apache, hay un otro método:
<IfModule mod_deflate.c> SetOutputFilter DEFLATE SetEnvIfNoCase Request_URI ".(?:mp3|pdf|jpg|png|mp4)$" no-gzip </IfModule>
la directiva setoutputfilter «sets the filters which will process responses from the server before they are sent to the client». en este caso, el filtro deflate (mod_deflate), encargado de la compresión. mediante setenvifnocase (mod_setenvif), se aplica no-gzip a los archivos cuya extensión sea mp3, pdf, jpg, png o mp4:
no-gzip
«Environment Variables in Apache» de Versión 2.4 de la documentación del Servidor de HTTP Apache.
When set, the DEFLATE filter of mod_deflate will be turned off and mod_negotiation will refuse to deliver encoded resources.
en suma, con esta directiva, se le ordena al servidor que no comprima los archivos señalados.
SetEnvIfNoCase Request_URI «^(?!(.*.html|.*.php)$).*$» no-gzip
mediante estotra expresión regular, se declaran las extensiones que, en efecto, deben comprimirse: html y php; al resto de las respuestas, se les aplica no-gzip. en cualquier caso, la compresión de los archivos se puede comprobar con el valor de la cabecera content-encoding:
La cabecera Content-Encoding es usada para comprimir el media-type. Cuando está presente, su valor indica qué codificación de contenido adicional ha sido aplicada al cuerpo de la entidad.
«Content-Encoding» de MDN web docs.
fuente: samaxes.com.