gzip
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]
Desenvolvedor | Jean-loup Gailly e Mark Adler |
Lançamento | 31 de outubro de 1992 (32 anos) |
Versão estável | 1.13 (19 de agosto de 2023 | )
Sistema operacional | Unix, Linux, Windows |
Gênero(s) | Compactador de arquivos |
Licença | GPL |
Página oficial | www |
Formato
editargzip | |
---|---|
Extensão do arquivo |
|
MIME | application/gzip
|
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
editarPara 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
- ↑ 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
- ↑ «GNU Gzip». gnu.org. Consultado em 18 de agosto de 2016
- ↑ «GNU Gzip: General file (de)compression». gnu.org. Março de 2016
- ↑ 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
- ↑ 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
- ↑ «Can gzip compress several files into a single archive?». Consultado em 18 de agosto de 2016
- ↑ «Tarball». computerhope.com. Consultado em 18 de agosto de 2016
- ↑ «Apache 2 mod_deflate Benchmark». 23 de outubro de 2005. Consultado em 18 de agosto de 2016