Archivo GZIP (.gz)
IETF EstándarGzip (GZ) es la utilidad de compresión y formato de archivo estándar de GNU, implementado universalmente en sistemas operativos Unix y servidores HTTP de internet para la compresión rápida de archivos y recursos web.
Convertir de TAR a GZ
Convertidor gratuito de TAR a GZ en el navegador. Convierte archivos al instante en tu dispositivo.
Inspeccionar y metadatos
Los sistemas operativos y analizadores de archivos identifican los archivos de GZ inspeccionando la secuencia de bytes binarios inicial:
Firma de cabecera a nivel de bytes (Bytes mágicos)
Los sistemas operativos y analizadores de archivos identifican los archivos de GZ inspeccionando la secuencia de bytes binarios inicial:
FIRMA HEXADECIMAL (DESPLAZAMIENTO 0):
1F 8B 08REPRESENTACIÓN ASCII: ..\x08
Estandarización: IETF RFC 1952
Especificaciones técnicas
| Arquitectura del contenedor | Cabecera de 10 bytes (mágico 0x1F 0x8B, método 8, indicadores, mtime, SO) seguida de un flujo DEFLATE y un pie de página de 8 bytes |
| Compresión | Algoritmo DEFLATE (ventana deslizante LZ77 + codificación Huffman) |
| Orden de bytes (Endianness) | Enteros de cabecera y pie de página Little-Endian |
| Espacios de color | N/A (Contenedor de archivo) |
| Canales y estructura | Flujo de bytes comprimido de archivo único |
| Dimensiones máximas | Tamaño descomprimido registrado módulo 2^32 (admite longitudes de flujo ilimitadas) |
| Transparencia | Preservación de datos sin pérdidas exacta bit a bit al 100% |
| Streaming y progresivo | Reproducción de transmisión secuencial de una sola pasada a través de tuberías y redes HTTP |
Matriz de comparación técnica: GZ frente a la competencia
| Atributo técnico | GZ (Actual) | BZ2 | BROTLI | ZSTD |
|---|---|---|---|---|
| Velocidad de descompresión | Rápida (~300 MB/s) | Lenta (~40 MB/s) | Muy rápida (~400 MB/s) | Ultrarrápida (>1.5 GB/s) |
| Adopción web universal | 100% de todos los navegadores y servidores | Sin compatibilidad en navegadores web | Compatible mediante HTTPS en todos los navegadores | Creciente compatibilidad en navegadores y servidores |
| Empaquetado de múltiples archivos | Requiere contenedor TAR (.tar.gz) | Requiere contenedor TAR (.tar.bz2) | Flujo sin procesar o contenedor personalizado | Requiere contenedor TAR (.tar.zst) |
| Verificación de suma de comprobación | CRC de 32 bits (CRC-32) | CRC de 32 bits por bloque | Ninguno integrado en el flujo | xxHash de 64 bits |
Modos de corrupción comunes y guía de recuperación hexadecimal
Error de extracción: 'gzip: stdin: fin de archivo inesperado'.
Causa raíz: Terminación prematura de la transferencia de archivos que corta el flujo DEFLATE o el pie de página CRC32 de 8 bytes.
Recuperación: Extraiga el contenido parcial usando 'gzip -d --keep broken.gz' o el extractor Gzip de File2File.
Análisis de seguridad y vectores de ataque al analizador
Los analizadores de Gzip procesan cabeceras controladas por el usuario y flujos de bits DEFLATE que deben protegerse contra bombas de descompresión.
Vectores de ataque conocidos
- Bomba de descompresión (bomba zip) que expande megabytes de datos Gzip en cientos de gigabytes de espacio en disco.
- Desbordamiento de búfer al leer la cadena opcional del nombre de archivo original desde la cabecera.
- Desbordamiento de enteros durante la comparación de comprobación CRC de 32 bits.
Mejores prácticas defensivas: Aplique cuotas estrictas de descompresión y límites máximos de memoria en los servicios de ingesta automatizados.
Orígenes históricos e hitos
Ventajas clave y pros
- El punto de referencia universal para la compresión HTTP en internet ('Content-Encoding: gzip') respaldado por el 100% de los clientes web.
- Conserva las marcas de tiempo de modificación originales del archivo y los nombres de archivo originales opcionales dentro de la cabecera de 10 bytes.
- Huella de CPU ligera durante la descompresión, ejecutándose sin problemas en dispositivos móviles y enrutadores de bajo consumo.
Limitaciones técnicas y contras
- Compresión de archivo único únicamente: no puede comprimir varios archivos o directorios sin agruparlos primero en un contenedor TAR.
- La tasa de compresión es menor que la de los algoritmos modernos como Brotli y Zstandard en textos web modernos.
- El campo de tamaño descomprimido del pie de página es de 32 bits módulo 2^32, lo que causa errores visuales de desbordamiento en archivos de más de 4 GB.
Curiosidades técnicas interesantes
- Los bytes mágicos 0x1F 0x8B se eligieron porque 0x1F era históricamente el primer byte de los archivos 'compress' de Unix, mientras que 0x8B identificaba a Gzip.
- Más del 80% de todos los sitios web en internet utilizan la compresión Gzip para entregar páginas web a los navegadores.
- Jean-loup Gailly escribió el código de compresión mientras que Mark Adler escribió el código de descompresión (desinflado); ambos recibieron el premio ACM Software System Award.
Preguntas técnicas frecuentes
¿Por qué no puedo comprimir una carpeta con Gzip?
Gzip fue diseñado para comprimir un solo flujo de bytes. Para comprimir una carpeta, los sistemas Unix primero agrupan la carpeta en un solo archivo .tar y luego la comprimen con Gzip para crear un archivo .tar.gz.
¿Cuál es la diferencia entre .gz y .zip?
.zip es un formato de archivo que empaqueta varios archivos juntos con un índice de directorios. .gz comprime solo un archivo y se suele combinar con tar en sistemas Unix.
¿Cómo puedo descomprimir un archivo .gz en Windows o Mac?
Utilice File2File.app para descomprimir instantáneamente archivos .gz directamente en su navegador web sin necesidad de instalar ningún software.
Pares de conversión de GZ relacionados
Convertir un archivo TAR en un archivo GZIP envuelve una colección de archivos sin comprimir en un único flujo comprimido utilizando el algoritmo sin pérdida DEFLATE para reducir drásticamente el tamaño del archivo.
Convertir un archivo comprimido GZIP en un archivo TAR elimina la capa de compresión para exponer la colección de archivos y carpetas sin procesar y sin comprimir.