Proceso que consiste en reducir el tamaño de un archivo o conjunto de datos.
Puede ser con pérdida (se elimina parte de la información) o sin pérdida (se mantiene toda la información original).
// Compresión en Node.js con zlib import { gzip, gunzip } from 'zlib'; import { promisify } from 'util'; const gzipAsync = promisify(gzip); const gunzipAsync = promisify(gunzip); // Comprimir datos const datos = 'Texto a comprimir...'.repeat(1000); const comprimido = await gzipAsync(datos); console.log(`Original: ${datos.length} bytes`); console.log(`Comprimido: ${comprimido.length} bytes`); // Descomprimir const descomprimido = await gunzipAsync(comprimido); // En Express - comprimir respuestas HTTP import compression from 'compression'; app.use(compression()); // Formatos comunes: // Sin pérdida: ZIP, GZIP, PNG, FLAC // Con pérdida: JPEG, MP3, MP4, WebP