CON · Concepto 6 · Presentación (Aplicación)

32.Compresión

Reducir el tamaño de los datos antes de enviarlos: sin pérdida (gzip, Brotli) para texto y archivos, con pérdida (JPEG, MP3, H.264) para multimedia.

¿Qué es?

La compresión es reducir el tamaño de los datos para que ocupen menos y viajen más rápido por la red. Del otro lado se descomprimen para recuperarlos.

Es como empacar ropa al vacío para una maleta: lo que llevas es lo mismo, pero ocupa mucho menos. Algunas compresiones son así, sin perder nada; otras, como reducir la calidad de una foto, quitan detalles que casi no se notan para ahorrar todavía más.

En términos técnicos

  • Es tarea de la capa 6 (Presentación) en el modelo OSI; en TCP/IP la hace la aplicación (el navegador, el servidor web, el códec de video).
  • Sin pérdida (lossless): se recupera exactamente lo original. Para texto, código, documentos y archivos: DEFLATE (gzip, ZIP), Brotli, Zstandard.
  • Con pérdida (lossy): se descarta información que el ojo o el oído casi no perciben. Para imagen, audio y video: JPEG, WebP, MP3, AAC, H.264, H.265, AV1.
  • Se mide con la tasa de compresión: tamaño original entre tamaño comprimido.

¿Dónde lo vas a encontrar?

En casi todas las páginas web (el servidor envía el HTML, CSS y JavaScript con gzip o Brotli), en los archivos ZIP, en las fotos JPEG, en el streaming de video y música, en las videollamadas y en los encabezados de HTTP/2 y HTTP/3.

¿Cómo funciona?

Las ideas detrás de la compresión sin pérdida

Técnica Idea Ejemplo
Repeticiones (RLE) Cambiar «AAAAAA» por «6×A» Imágenes con grandes áreas de un solo color
Diccionario (LZ77) Cambiar un texto repetido por «lo mismo que hace 40 bytes, 12 caracteres» Las etiquetas <p> y </p> que se repiten en un HTML
Códigos de longitud variable (Huffman) Usar menos bits para los símbolos más frecuentes La «e» y la «a» en un texto en español

DEFLATE (el de gzip y ZIP) combina LZ77 + Huffman. Brotli y Zstandard usan ideas parecidas con diccionarios más grandes y mejores algoritmos.

Un ejemplo real: un HTML de 11 800 bytes con un párrafo repetido 200 veces quedó en 133 bytes con gzip. En cambio, 10 000 bytes aleatorios quedaron en 10 023: no había nada que repetir y gzip solo agregó su encabezado.

Compresión con pérdida

Medio Qué se descarta Formatos
Imagen Detalles finos de color que el ojo distingue poco JPEG, WebP, AVIF
Audio Frecuencias que el oído no percibe o que otros sonidos tapan MP3, AAC, Opus
Video Lo que no cambia entre un cuadro y el siguiente, además de lo anterior H.264, H.265, VP9, AV1

La compresión en HTTP

  1. El navegador anuncia lo que entiende: Accept-Encoding: gzip, deflate, br, zstd.
  2. El servidor elige uno, comprime la respuesta y lo indica: Content-Encoding: br.
  3. El navegador descomprime y muestra la página.

Además, HTTP/2 comprime los encabezados con HPACK y HTTP/3 con QPACK.

Verificación y diagnóstico

Comando o herramienta Qué debes ver
curl -sI -H "Accept-Encoding: gzip, br" https://solutionss.net La cabecera content-encoding: br o gzip
Navegador: herramientas de desarrollador → Red Columna de tamaño: transferido (comprimido) contra tamaño real
gzip -k -v archivo.html (Linux) El porcentaje de reducción
ls -l archivo.html archivo.html.gz Comparar los dos tamaños

Para tomar en cuenta

  • Texto: siempre comprimido (HTML, CSS, JavaScript, JSON, SVG). Imágenes y video: elige bien el formato, no los pases por gzip.
  • Brotli comprime mejor que gzip para la web; Zstandard es muy rápido y se usa en sistemas y respaldos.
  • Más compresión, más procesador: los niveles altos (p. ej. gzip -9) ahorran poco más y tardan bastante más. Para contenido que no cambia, conviene comprimirlo una vez de antemano.
  • Con pérdida no se recupera: guardar una y otra vez un JPEG lo degrada. Conserva el original.
  • Elige formatos modernos: WebP o AVIF para fotos en la web, AV1 o H.265 para video, Opus para voz.
  • Compresión en VPN o enlaces WAN: algunos equipos comprimen el tráfico, pero si casi todo ya va cifrado (HTTPS) el beneficio es mínimo.

Material descargable

Aún no hay material descargable para este tema. Pronto habrá cuadernillos, manuales o laboratorios.

Referencias (RFC / estándar)

Antes conviene ver…

© solutions_ · Redes informáticas · 32 Compresión