Compension en Apache
Asegurarse de que el modulo esta cargado:
LoadModule deflate_module modules/mod_deflate.so
Activar la compresion para los tipos de fichero deseados:
<IfModule mod_deflate.c>
# Activamos la compresión
SetOutputFilter DEFLATE
# Indicamos los tipos de contenido a comprimir
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/gml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
# Indicamos las extensiones de los ficheros a comprimir
<files *.html>
SetOutputFilter DEFLATE
</files>
<files *.xml>
SetOutputFilter DEFLATE
</files>
<files *.gml>
SetOutputFilter DEFLATE
</files>
<files *.json>
SetOutputFilter DEFLATE
</files>
<files *.js>
SetOutputFilter DEFLATE
</files>
<files *.css>
SetOutputFilter DEFLATE
</files>
</IfModule>
Si la version de Apache es 2.4 o superior hay que activar un modulo mas:
LoadModule filter_module modules/mod_filter.so
Reiniciar Apache.
Para comprobar que funciona correctamente:
wget --no-cache --header="accept-encoding: gzip" -S URL_A_TESTEAR 2>&1 | grep "Content-Encoding"
Comprension en Nginx
Para activar la comprensión de contenido estático como javascript. Vamos a la suscripción en plesk, configuración de servidor web y en directivas adicionales de nginx añadimos:
# enable gzip compression gzip on; gzip_min_length 1100; gzip_buffers 4 32k; gzip_types text/plain application/javascript application/x-javascript text/xml text/css; gzip_vary on; # end gzip configuration
Habilitarlo en .htaccess
<IfModule mod_deflate.c>
<filesMatch "\.(js|css|html|php)$">
SetOutputFilter DEFLATE
</filesMatch>
</IfModule>