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; há 13 meses
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

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.