gzip

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa


"gzip"
Logótipo
Desenvolvedor Jean-loup Gailly e Mark Adler
Lançamento 31 de outubro de 1992; há 25 anos
Versão estável 1.8 (26 de abril de 2016; há 11 meses)
Sistema operacional Unix, Linux, Windows
Gênero(s) Compactador de arquivos
Licença GPL
Página oficial www.gzip.org

gzip é um 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[editar | editar código-fonte]

gzip
Extensão do arquivo .gz
Desenvolvido por Jean-loup Gailly e Mark Adler
Página oficial www.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[editar | editar código-fonte]

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. GZIP file format specification version 4.3. [S.l.: s.n.]. p. 1. Página visitada em 18 de agosto de 2016.
  2. «GNU Gzip». gnu.org. Consultado em 18 de agosto de 2016  Verifique data em: |access-date= (ajuda)
  3. «GNU Gzip: General file (de)compression». gnu.org. março de 2016  Verifique data em: |date= (ajuda)
  4. L. Peter Deutsch. DEFLATE Compressed Data Format Specification version 1.3. [S.l.: s.n.]. Página visitada em 18 de agosto de 2016.
  5. L. Peter Deutsch. GZIP file format specification version 4.3. [S.l.: s.n.]. p. 4. Página visitada em 18 de agosto de 2016.
  6. «Can gzip compress several files into a single archive?». Consultado em 18 de agosto de 2016  Verifique data em: |access-date= (ajuda)
  7. «Tarball». computerhope.com. Consultado em 18 de agosto de 2016  Verifique data em: |access-date= (ajuda)
  8. «Apache 2 mod_deflate Benchmark». 23 de outubro de 2005. Consultado em 18 de agosto de 2016  Verifique data em: |access-date=, |date= (ajuda)


Ícone de esboço Este artigo sobre software é um esboço. Você pode ajudar a Wikipédia expandindo-o.