Modern technology gives us many things.

Configuración MIME para compresión en servidores.

Configuración MIME para compresión en servidores y encontrar optimizaciones de rendimiento web.

Cuando audito los sitios web de mis clientes para encontrar la correcta configuración MIME para compresión en servidores y optimizaciones de rendimiento web, a menudo noto que falta compresión en los archivos que deberían comprimirse.

Especialmente imágenes SVG, archivos JSON, fuentes TTF y favicons. Agregar compresión Gzip o Brotli a menudo puede dividir su peso por 4 o más.

Esto es bastante fácil de solucionar si tienes acceso a tu servidor. Aprovecha esta ocasión para implementar una lista de compresión sólida.

¿Cómo eligen los servidores web qué archivos deben comprimirse?

En realidad, los servidores no eligen automáticamente. Siguen un archivo de configuración que puedes editar y mejorar.

Algunas configuraciones predeterminadas incluyen una lista, pero puede ser incorrecta o estar incompleta.

Al final de este artículo, encontrarás la lista que utilizo en mis proyectos y funcionan.

Pero antes, algunas explicaciones más.

¿Qué es un tipo MIME?

MIME es una clasificación de archivos que describe la naturaleza y el formato de todo tipo de archivos.

Es bastante similar a la extensión de archivo, pero un poco más detallada. Por ejemplo, la extensión .jpg tendrá image/jpegcomo tipo MIME.

La diferencia es que las extensiones son utilizadas principalmente por los sistemas operativos de los ordenadores, mientras que los navegadores y los servidores hablan juntos en tipos MIME.

Por ejemplo, cuando un navegador encuentra una etiqueta <img>, enviará una solicitud con el siguiente encabezado al servidor:

accept: image/avif,image/webp,image/svg+xml,image/*,*/*

Y, si la imagen es un JPEG, el servidor responderá con:

content-type: image/jpeg

Configurar su servidor para Gzip o Brotli es proporcionar una lista de tipos MIME que desea comprimir.

¿Cómo agregar un tipo MIME a la lista de compresión?

Desde su navegador, consulte el encabezado content-type enviado por su servidor. Este es el tipo MIME que deberá agregar a la lista de configuración de su servidor (ejemplo más abajo).

Si el servidor no envía el encabezado o envía uno incorrecto, hay dos posibilidades:

  • Para los archivos estáticos, deberá explicarle a su servidor cómo traducir la extensión del archivo al tipo MIME correcto. Esto se hace editando /etc/nginx/mime.types(para nginx) o /etc/mime.types(para Apache).
  • Para los archivos generados por su lenguaje del lado del servidor (PHP, Node, Java, Ruby…), debe cambiar el código para agregar el encabezado correcto.

Una vez que tú y tu servidor estén de acuerdo sobre el tipo MIME que deseas comprimir, agrégalo a la lista de compresión.

Dependiendo de la tecnología de tu servidor, aquí te mostramos cómo encontrar esta lista:

Configuración MIME para compresión en servidores Nginx

Esto generalmente se configura en /etc/nginx/sites-available/<your-site>. De lo contrario, está dentro /etc/nginx/nginx.confo en uno de los archivos que incluye.

Busque algo como esto, o su equivalente Brotli:

gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_types <list of space-separated MIME types>;

apache

Se puede configurar en varios lugares. Comience por el código .htaccess de su sitio web. Si no está aquí, eche un vistazo a /etc/apache2/sites-available/<your-site>.conf, de lo contrario, probablemente esté dentro /etc/apache2/apache2.conf.

Busque algo como esto, o su equivalente Brotli:

<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE <list of space-separated MIME types>
</ifmodule>

Lista de tipos de configuración MIME para compresión en servidores

¡No comprima todos los tipos MIME que pueda encontrar con la configuración MIME para compresión en servidores!

Algunos formatos de archivo ya están comprimidos de forma predeterminada y comprimirlos dos veces sería una pérdida de energía (y tiempo).

Así que aquí hay una lista que incluye los tipos MIME más comunes que requieren compresión. Debería funcionar bien para la mayoría de los sitios web.

Esta lista se hizo para ayudarlo a configurar qué archivos debe comprimir su servidor.

text/html
text/css
text/plain
text/xml
text/x-component
text/javascript
application/x-javascript
application/javascript
application/json
application/manifest+json
application/vnd.api+json
application/xml
application/xhtml+xml
application/rss+xml
application/atom+xml
application/vnd.ms-fontobject
application/x-font-ttf
application/x-font-opentype
application/x-font-truetype
image/svg+xml
image/x-icon
image/vnd.microsoft.icon
font/ttf
font/eot
font/otf
font/opentype

¡Por favor comenta a continuación si encuentra algún otro tipo MIME que deba agregarse!

Configuración MIME para compresión en servidores. – MelSystems.es

También podría gustarte: