Arquivo GZIP (.gz)
IETF PadrãoGzip (GZ) é o utilitário e formato de compactação padrão do GNU, amplamente usado em sistemas Unix e servidores HTTP para compactar rapidamente arquivos e recursos da web.
Converter TAR para GZ
Conversor gratuito de TAR para GZ no navegador. Converta arquivos instantaneamente no seu dispositivo.
Inspeção e metadados
Sistemas operacionais e analisadores de arquivos identificam arquivos GZ pela sequência inicial de bytes:
Assinatura do arquivo em bytes (magic bytes)
Sistemas operacionais e analisadores de arquivos identificam arquivos GZ pela sequência inicial de bytes:
ASSINATURA HEXADECIMAL (DESLOCAMENTO 0):
1F 8B 08REPRESENTAÇÃO ASCII: ..\x08
Padronização: IETF RFC 1952
Especificações técnicas
| Estrutura do contêiner | Cabeçalho de 10 bytes (bytes mágicos 0x1F 0x8B, método 8, sinalizadores, horário de modificação e sistema operacional), seguido por fluxo DEFLATE e rodapé de 8 bytes |
| Compressão | Algoritmo DEFLATE (janela deslizante LZ77 e codificação Huffman) |
| Ordem dos bytes (endianness) | Inteiros little-endian no cabeçalho e no rodapé |
| Espaços de cor | Não se aplica (contêiner de arquivos) |
| Canais e Estrutura | Fluxo de bytes compactado de um único arquivo |
| Dimensões Máximas | O tamanho original é registrado módulo 2^32 (compatível com fluxos de comprimento ilimitado) |
| Transparência | Preserva os dados sem perdas, idênticos ao original bit a bit |
| Streaming e Progressivo | Processamento sequencial em fluxo de uma só passagem, por pipes e redes HTTP |
Matriz de comparação técnica: GZ e formatos concorrentes
| Atributo técnico | GZ (Atual) | BZ2 | BROTLI | ZSTD |
|---|---|---|---|---|
| Velocidade de descompactação | Rápida (cerca de 300 MB/s) | Lenta (cerca de 40 MB/s) | Muito rápida (cerca de 400 MB/s) | Ultrarrápida (mais de 1,5 GB/s) |
| Uso amplo na Web | Praticamente todos os navegadores e servidores | Sem suporte nos navegadores | Compatível com todos os navegadores via HTTPS | Compatibilidade crescente em navegadores e servidores |
| Empacotamento de vários arquivos | Requer contêiner TAR (.tar.gz) | Requer contêiner TAR (.tar.bz2) | Fluxo bruto ou contêiner personalizado | Requer contêiner TAR (.tar.zst) |
| Verificação de integridade | CRC de 32 bits (CRC-32) | CRC de 32 bits por bloco | Nenhuma soma de verificação integrada ao fluxo | xxHash de 64 bits |
Modos comuns de corrupção e guia de recuperação com editor hexadecimal
Erro de extração: "gzip: stdin: unexpected end of file".
Causa principal: A transferência do arquivo foi interrompida antes do fim do fluxo DEFLATE ou do rodapé CRC32 de 8 bytes.
Recuperação: Extraia o conteúdo parcial com gzip -d --keep broken.gz ou use o extrator Gzip do File2File.app.
Análise de segurança e vetores de ataque a analisadores
Analisadores Gzip processam cabeçalhos controlados pelo usuário e fluxos de bits DEFLATE; ambos precisam de proteção contra bombas de descompactação.
Vetores de ataque conhecidos
- Bomba de descompactação que expande megabytes de dados Gzip e ocupa centenas de gigabytes em disco.
- Estouro de buffer ao ler do cabeçalho a string opcional com o nome do arquivo original.
- Estouro de inteiro ao comparar a verificação CRC de 32 bits.
Melhores práticas defensivas: Defina cotas rigorosas de descompactação e limites máximos de memória em serviços automatizados de ingestão.
Origens históricas e marcos
Principais vantagens
- É o padrão universal para compactação HTTP (Content-Encoding: gzip), compatível com praticamente todos os clientes e navegadores da web.
- Preserva no cabeçalho de 10 bytes os horários de modificação e, opcionalmente, os nomes originais dos arquivos.
- Usa pouca CPU durante a descompactação e funciona bem em dispositivos móveis e roteadores de baixo consumo.
Limitações técnicas e desvantagens
- Compacta apenas um arquivo por vez. Para compactar vários arquivos ou diretórios, é preciso reuni-los antes em um contêiner TAR.
- Em textos modernos da web, compacta menos que algoritmos como Brotli e Zstandard.
- O campo de 32 bits no rodapé armazena o tamanho original módulo 2^32 e pode exibir incorretamente arquivos maiores que 4 GB.
Curiosidades técnicas
- Os bytes mágicos 0x1F 0x8B foram escolhidos porque 0x1F era o primeiro byte dos arquivos compress do Unix e 0x8B identificava o Gzip.
- Mais de 80% dos sites usam compactação Gzip para enviar páginas aos navegadores.
- Jean-loup Gailly escreveu o código de compactação, enquanto Mark Adler escreveu o de descompactação (inflate). Ambos receberam o Prêmio de Sistemas de Software da ACM.
Perguntas técnicas frequentes
Por que não consigo comprimir uma pasta com o Gzip?
O Gzip foi criado para compactar um único fluxo de bytes. Para compactar uma pasta, os sistemas Unix primeiro a reúnem em um arquivo .tar e depois o compactam com Gzip para criar um .tar.gz.
Qual é a diferença entre .gz e .zip?
O .zip reúne vários arquivos em um arquivo compactado com índice de diretório. O .gz compacta apenas um arquivo e costuma ser combinado com TAR nos sistemas Unix.
Como posso descomprimir um arquivo .gz no Windows ou Mac?
Use o File2File.app para descompactar arquivos .gz instantaneamente no navegador, sem instalar programas.
Conversões de GZ relacionadas
A conversão de um arquivo TAR para GZIP reúne uma coleção de arquivos não compactados em um único fluxo compactado, usando o algoritmo sem perdas DEFLATE para reduzir drasticamente o tamanho do arquivo.
Extraia os dados TAR de um arquivo TAR comprimido com GZIP, como .tar.gz ou .tgz.