Gzip frente a Brotli decide en el Alojamiento tiempo de carga, tamaño de archivo y presupuesto de CPU. En esta comparativa, muestro de forma práctica cuándo activo qué método de compresión HTTP, qué nivel utilizo y cómo esto repercute directamente en los costes y los valores vitales de la web.
Puntos centrales
- tasa de compresiónBrotli ahorra 15-25 % bytes más que Gzip, especialmente con activos estáticos.
- VelocidadGzip comprime más rápido sobre la marcha, Brotli suele descomprimir más rápido en el navegador.
- Estática/dinámicaBrotli para archivos precomprimidos, Gzip para respuestas dinámicas.
- RespuestaDar prioridad a Brotli, utilizar Gzip como nivel alternativo compatible.
- SEO/UXLos archivos más pequeños reducen la latencia, refuerzan las funciones vitales de la web y las clasificaciones.
Por qué la compresión HTTP impulsa el éxito del alojamiento
Confío en Compresión HTTP, porque facilita cada respuesta y, por tanto, tarda menos tiempo en la red. Las transferencias más cortas mejoran la Interactividad, comprimen la impresión TTFB y estabilizan la secuencia de carga. Cada kilobyte cuenta, sobre todo en las conexiones móviles, y la compresión reduce notablemente esta huella. Además, ahorro ancho de banda en el servidor, lo que es una verdadera ventaja cuando hay mucho tráfico. Costos se reduce. Por tanto, quienes dan prioridad al rendimiento activan sistemáticamente el método de compresión adecuado en todos los extremos: servidor, CDN y extremo.
Gzip: puntos fuertes, niveles y campos de aplicación
Gzip se basa en DEFLATE y, en la práctica, proporciona archivos 50-70 % más pequeños con un tiempo de compresión muy corto. Para respuestas HTML dinámicas suelo elegir Level 6, porque ofrece una buena relación entre velocidad y ahorro. Con un alto rendimiento, es fácil para la CPU y mantiene baja la latencia. Dependiendo de la carga, también utilizo el nivel 4-5 para contenidos muy dinámicos, con el fin de reducir aún más el tiempo sobre la marcha. Gzip sigue siendo indispensable como alternativa, ya que puede utilizarse prácticamente en todas partes. funciona.
Brotli: ventajas, niveles y límites
Palito de pan utiliza LZ77, codificación Huffman y un diccionario de 120 KB con patrones web frecuentes. Esto reduce HTML, CSS y JavaScript significativamente más de media que Gzip, especialmente en niveles altos. Normalmente veo 15-25 % bytes menos en comparación con Gzip, lo que reduce claramente el tiempo de transferencia. La descompresión en el navegador es muy rápida, lo que alivia el proceso de renderizado. Para la compresión sobre la marcha utilizo niveles moderados (por ejemplo, 4-6), mientras que para los activos precomprimidos prefiero los niveles 8-11 en los procesos de compilación.
Gzip vs Brotli en el alojamiento cotidiano
Decido según Contenido y perfil de carga: dinámico mejor Gzip, estático mejor Brotli. Para CSS/JS, fuentes y plantillas HTML grandes, la precompresión con Brotli merece la pena. Para contenidos que varían por petición, el tiempo de compresión cuenta, así que Gzip. Los stacks modernos ejecutan ambos en paralelo: Brotli prioritariamente, Gzip como fallback. Si desea profundizar, encontrará en este comparación detallada más cifras clave y casos de uso específicos.
Cuadro comparativo: cifras clave y ayudas
En el siguiente cuadro se clasifican los más importantes Criterios para las configuraciones de alojamiento y muestra cuándo es mejor un método u otro. Me ayuda a tomar decisiones basadas en el tipo de archivo, la carga y la compatibilidad. Evalúo la tasa de compresión, la sobrecarga del servidor, la compatibilidad del navegador y el impacto en la velocidad percibida. Así es como determino si debo utilizarlo sobre la marcha o como paso de compilación. comprimir. La precompresión con Brotli se adapta especialmente bien a grandes paquetes estáticos.
| Criterio | Gzip | Palito de pan | Efecto en la práctica |
|---|---|---|---|
| tasa de compresión | aprox. 50-70 % más pequeño | normalmente 15-25 % más pequeño que Gzip | Menos bytes, transmisión más rápida |
| Velocidad de compresión | Rápido, especialmente en los niveles 1-6 | Más lento en niveles altos (8-11) | Gzip es ventajoso para respuestas dinámicas |
| Descompresión | Rápido | A menudo incluso más rápido | El inicio del renderizado parece más fluido |
| Compatibilidad con navegadores | Casi terminado | Muy amplio con navegadores modernos | Gzip como nivel alternativo compatible |
| Consumo de CPU | Bajo a niveles bajos | Mayor a niveles altos | Sopesar claramente el tiempo de compilación frente al tiempo de ejecución |
A estas cifras clave añado TTFB y el ancho de banda como factores de decisión. Si las reservas de CPU son escasas, elijo niveles más bajos para la compresión en vivo. En los pipelines CI/CD, pre-empaqueto los archivos estáticos con altos niveles de Brotli. Esto me permite combinar tiempos de respuesta cortos con Activos. La combinación ofrece una experiencia de carga cada vez mejor.
Práctica de configuración con Nginx y Apache
Activo Palito de pan y Gzip a través de módulos, establecer MIMEs sensibles y regular los niveles en función de la carga del servidor. En Nginx, utilizo configuraciones separadas para archivos sobre la marcha y para archivos precomprimidos con extensiones .br/.gz. En Apache, configuro a través de módulos como mod_brotli y mod_deflate así como a través de .htacceso Reglas para el almacenamiento en caché y cabeceras Vary. La precompresión en la compilación sigue siendo importante para que el servidor sólo entregue y no tenga que empaquetar constantemente. Si estás buscando una guía paso a paso, empieza por esta Configuración de la compresión HTTP.
Estrategias: Dinámicas frente a estáticas
En dinámico Para los recursos estáticos, utilizo Brotli en niveles altos y almaceno los artefactos ya en el sistema de archivos o en la CDN. Esta estrategia alivia el CPU en tiempo de ejecución y reduce los bytes al máximo. Me aseguro de que el servidor seleccione la variante adecuada en función de la codificación aceptada. Así es como sirvo a los navegadores modernos con Brotli y a los clientes más antiguos de forma fiable con Gzip.
Efectos SEO y aspectos vitales de la web
Los archivos más pequeños reducen la Latencia y sacar el contenido a la superficie más rápidamente. A menudo noto un mejor Primer contenido y un Mayor contenido más estable. Esto se nota claramente en dispositivos móviles con una conexión débil. También ahorro en transferencia de datos, lo que es apreciable con un tráfico elevado. Costos baja. Estas ventajas se traducen en visibilidad, conversión y satisfacción de los usuarios.
Control y ajuste: notablemente más rápidos
Compruebo el efecto de Compresión con mediciones de laboratorio y de campo. Herramientas como PageSpeed o RUM data me muestran FCP, LCP, TTFB y tamaños de transferencia antes y después de los ajustes. Si la carga de la CPU es alta, reduzco los niveles, si los archivos son demasiado grandes, los aumento en pasos de construcción. Las cabeceras de caché como Cache-Control y ETag evitan el reempaquetado innecesario y refuerzan el Eficacia. Sigue siendo importante realizar pruebas con regularidad porque los patrones de tráfico y el tamaño de los activos cambian.
Configuración práctica: Enfoque híbrido para WordPress & Co.
Para WordPress A menudo elijo Brotli para CSS/JS/Fonts y Gzip para páginas HTML generadas por PHP. Las CDN entregan los archivos precomprimidos, mientras que Origin empaqueta rápidamente las respuestas dinámicas. Presto atención a las cabeceras Vary para separar las cachés limpiamente y a las ETags idénticas para las variantes .br/.gz. Si quieres afinar, puedes encontrar detalles en Nivel de compresión y carga de la CPU. Esto mantiene la cadena de render ligero, el Carga del servidor calculable y la compatibilidad es alta.
Qué archivos no comprimo
No todo se beneficia de la compresión HTTP. Algunos formatos ya están óptimamente empaquetados internamente o requieren peticiones de rango de bytes en las que la compresión adicional tiende a interferir. Por ello, suelo dejarlos sin comprimir:
- Imágenes: JPEG/JPG, PNG, GIF, WebP, AVIF (ya muy comprimidas)
- Vídeo/audio: MP4, WebM, MOV, MP3, OGG, AAC
- Archivos/contenedores: ZIP, 7z, RAR, ISO, PDF (a menudo comprimido), DMG
- Formatos de fuente: WOFF2 (utiliza Brotli internamente), WOFF parcialmente comprimible, empaquetar TTF/OTF por adelantado dependiendo de la configuración.
- Descargas binarias que se cargan con frecuencia por rango
En particular, deben comprimirse los siguientes elementos Formatos de textoHTML, CSS, JavaScript, JSON, XML, SVG, manifiestos web y sitemaps. SVG como XML se beneficia enormemente; WOFF2, en cambio, no - aquí me ahorro la codificación del contenido.
HTTP/2/HTTP/3 y TLS: Interacción con la compresión
HTTP/2 y HTTP/3 aceleran el transporte y la multiplexación, pero sustituyen a no la compresión de la carga útil. La compresión de cabeceras (HPACK/QPACK) sólo se ocupa de las cabeceras, no del cuerpo. Por tanto, un menor número de bytes en el cuerpo sigue siendo una clara ventaja. Importante: Palito de pan En la práctica, los navegadores sólo utilizan esta información a través de HTTPS ofrecido. Los que todavía utilizan HTTP puro normalmente sólo ven Gzip como una opción. En las cadenas de terminación TLS, me aseguro de que la compresión en el borde se produzca cerca del cliente para minimizar la latencia y la salida.
Gestión de variantes: aceptar codificación, cachés y ETags
Limpiar Negociación de contenido determina la tasa de aciertos de la caché. Siempre pongo la cabecera Vary a Aceptación de codificación, para que los proxies y las CDN separen las variantes correctamente. Para los activos preempaquetados, considero Última modificación y asignar ETags separadas por representación (.br/.gz/idéntico). Las CDN deben añadir la codificación de aceptación a la clave de caché. Es importante excluir la doble compresión: Si un archivo ya existe como .br, el servidor no debe volver a comprimirlo con gzip. Para los rangos de bytes (por ejemplo, vídeo), proporciono la variante sin comprimir, ya que los rangos se refieren a la representación codificada y, de lo contrario, las cachés pueden resultar incoherentes.
Ajuste: umbrales, niveles y presupuesto de CPU
Trabajo con Dimensiones mínimas, para que los archivos muy pequeños no se empaqueten innecesariamente (normalmente un umbral de 1-2 KB). Para respuestas dinámicas elijo Gzip Level 4-6 o Brotli 4-6, para artefactos de compilación prefiero Brotli 9-11, siempre que el tiempo de compilación siga siendo razonable. Reglas empíricas que han demostrado su eficacia:
- Pequeños fragmentos HTML y respuestas API: Gzip 4-5 o Brotli 4-5
- Paquetes grandes (JS/CSS > 50 KB): Brotli 8-11 por adelantado
- Volumen de tráfico vivo muy elevado: reduzca los niveles para evitar colas y picos de TTFB
Es importante vigilar los picos de CPU. Si el proceso de compresión se atasca, el TTFB percibido se deteriora. Entonces reduzco los niveles en directo y paso el ahorro a la compilación.
Seguridad: compresión sin riesgo
La compresión de transporte a través de TLS es segura, pero desde hace años se conocen ataques de canal lateral a la compresión de contenidos (palabra clave INCUMPLIMIENTO). En términos prácticos, esto significa que las páginas que contienen tokens secretos y Al mismo tiempo, comprimo cuidadosamente o no comprimo en absoluto aquellos puntos finales que reflejan la entrada del usuario. Por ejemplo, separo las páginas de formularios con tokens CSRF de los parámetros reflectantes, minimizo el contenido echo o desactivo la compresión en estos puntos finales. Esto no afecta a los activos estáticos, que sigo comprimiendo de forma agresiva.
CDN, serverless y almacenamiento de objetos: aclarando responsabilidades
En Configuraciones CDN Dejo activa la compresión de bordes y también subo artefactos precomprimidos. Es importante que los metadatos sean correctos: Tipo de contenido y Codificación de contenido debe ser correcto, de lo contrario las CDN servirán variantes incorrectas o comprimirán dos veces. En Sin servidor-funciones, mantengo el nivel live conservador (Gzip 4-5 o Brotli 4) para evitar arranques en frío y picos de CPU. Para el almacenamiento de objetos (por ejemplo, como Origin), guardo .br/.gz junto al archivo en bruto; la CDN selecciona en función de la codificación aceptada. El proceso de compilación genera todas las variantes de forma determinista para que las ETags permanezcan estables.
Comprobación y depuración: cómo comprobar el efecto
Valido regularmente la entrega con DevTools del navegador: En la vista de red compruebo Codificación de contenido, bytes enviados y si el servidor responde desde la caché. También compruebo si el Variar-header y si Brotli se entrega realmente a clientes HTTPS. Para las respuestas API, comparo los tamaños comprimidos frente a los no comprimidos y observo TTFB bajo carga. ¿Noto Imágenes de errores Si encuentro algún problema, suele deberse a la falta de una cabecera Vary (envenenamiento de la caché), doble compresión (br+gz), pares tipo de contenido/codificación incorrectamente configurados o compresión innecesaria de archivos diminutos. Soluciono primero estos casos antes de seguir aumentando los niveles.
Breve cálculo del efecto sobre los costes
La compresión no sólo ahorra tiempo, sino que también Volumen de salida. Por ejemplo, si envía 1 TB de tráfico de texto al mes y ahorra 20 % adicionales de media con Brotli en comparación con Gzip, reducirá su tráfico saliente en unos 200 GB. Dependiendo de la tarifa, este ahorro es considerable. Desde el punto de vista informático, los niveles de directo más altos cuestan tiempo de CPU. Por lo tanto, equilibro los costes de salida con el presupuesto de CPU y muevo los niveles caros a la compilación, donde sólo se producen una vez.
Casos extremos: streaming, proxies y archivos pequeños
En Eventos enviados por el servidor o respuestas en streaming, prefiero Gzip a niveles bajos o la compresión desactivada para que los trozos fluyan sin demora. Detrás de proxies antiguos, el Aceptación de codificación Mantengo Gzip activo como alternativa robusta. Y para archivos de menos de ~1 KB no utilizo compresión en absoluto, ya que la sobrecarga de la cabecera y la latencia a menudo neutralizan la ganancia.
Resumen: La mezcla inteligente da sus frutos
He puesto Palito de pan preferiblemente para archivos estáticos y mantener preparado Gzip como nivel de reserva fiable. Busco niveles rápidos para las respuestas dinámicas y el máximo ahorro para las compilaciones. De este modo, combino TTFB cortos con transferencias muy pequeñas y refuerzo de forma sostenible el núcleo vital de la web. Con una configuración limpia, precompresión y monitorización, la pila se mantiene rápida y estable. Si utiliza esta mezcla de forma sistemática, notará inmediatamente los beneficios en el tiempo de carga.


