gzip

gzip
DesenvolvedoresJean-loup Gailly e Mark Adler
Lançamento inicial31 de outubro de 1992 (33 anos)
Lançamento estável
1.14 / 9 de abril de 2025
Repositório
Sistema
operacional
Unix, Linux, Windows
TipoCompactador de arquivos
LicençaGPL
Websitewww.gzip.org

gzip é tanto um software para compactação de arquivos que serve de implementação de referência quanto o formato do arquivo compactado que este gera. Este software foi desenvolvido por Jean-loup Gailly e Mark Adler com algoritmos livres[1] para substituir o compress, que utilizava algoritmos patenteados.[2]

Formato

gzip
Extensão de arquivo
.gz
Tipo de mídia da Internet
application/gzip
Desenvolvido porJean-loup Gailly e Mark Adler
Websitewww.gzip.org

A geração do gzip é baseada no algoritmo DEFLATE[3] que por sua vez é uma combinação de LZ77 e da codificação de Huffman. A descrição deste algoritmo encontra-se na RFC 1951.[4]

O formato do arquivo gzip é descrito na RFC 1952, é identificado pela extensão .gz e possui o seguinte formato:

  • Cabeçalho de 10 bytes contendo os números mágicos 0x1f 0x8b seguidos pelo número da versão e a data e hora,
  • outros cabeçalhos opcionais contendo, por exemplo, o nome do arquivo original,
  • corpo do arquivo contendo os dados comprimidos pelo algoritmo DEFLATE,
  • terminador de 8 bytes com um checksum CRC-32 e o tamanho do arquivo original descomprimido, módulo 2^32.[5]

Apesar da possibilidade de concatenar múltiplos arquivos, em geral gzip é utilizado para comprimir apenas um arquivo cujo nome recebe a extensão .gz após sua própria extensão. Os usuários deste programa contornam esta limitação utilizando o utilitário tar para primeiramente agrupar múltiplos arquivos em um único, que em seguida é comprimido pelo gzip.[6] Este arquivo é identificado pelas extensões .tar.gz ou .tgz, também chamado de tarball.[7]

Outros usos

Para tornar o uso do algoritmo DEFLATE mais genérico, os desenvolvedores do gzip também construíram a biblioteca zlib que foi disseminada para várias plataformas.

O formato é utilizado para o envio de HTTP comprimido, uma técnica que torna o envio de HTML mais veloz ao comprimi-lo.[8] A compressão também faz parte do formato de arquivo de imagens chamado Portable Network Graphics identificado pela extensão .png.

Referências

  1. ↑ L. Peter Deutsch (maio de 1996). GZIP file format specification version 4.3. [S.l.: s.n.] p. 1. Consultado em 18 de agosto de 2016
  2. ↑ «GNU Gzip». gnu.org. Consultado em 18 de agosto de 2016
  3. ↑ «GNU Gzip: General file (de)compression». gnu.org. Março de 2016
  4. ↑ L. Peter Deutsch (maio de 1996). DEFLATE Compressed Data Format Specification version 1.3. [S.l.: s.n.] Consultado em 18 de agosto de 2016
  5. ↑ L. Peter Deutsch (maio de 1996). GZIP file format specification version 4.3. [S.l.: s.n.] p. 4. Consultado em 18 de agosto de 2016
  6. ↑ «Can gzip compress several files into a single archive?». Consultado em 18 de agosto de 2016
  7. ↑ «Tarball». computerhope.com. Consultado em 18 de agosto de 2016
  8. ↑ «Apache 2 mod_deflate Benchmark». 23 de outubro de 2005. Consultado em 18 de agosto de 2016

Ligações externas