Archiwum GZIP (.gz)

IETF Standardowy

Gzip (GZ) to standardowe uniksowe narzędzie kompresji i format pliku GNU, powszechnie wdrażane w systemach operacyjnych Unix i internetowych serwerach HTTP do szybkiej kompresji plików oraz zasobów internetowych.

Konwertuj TAR na GZ

Darmowy konwerter z TAR na GZ w przeglądarce. Konwertuj pliki natychmiast na swoim urządzeniu.

Inspekcja i metadane

Systemy operacyjne i analizatory plików identyfikują pliki GZ, sprawdzając początkową sekwencję bajtów binarnych:

Wybierz lub upuść pliki tutaj

Konwersja w 100% prywatna w przeglądarce - pliki nigdy nie opuszczają Twojego urządzenia

lub wklej Ctrl+V
Gwarancja prywatności bez przesyłania danych do sieci: 0 bajtów przesłanych na zewnętrzne serwery. Całe przetwarzanie odbyło się lokalnie w piaskownicy przeglądarki.

Podpis nagłówka na poziomie bajtów (Magic Bytes)

Systemy operacyjne i analizatory plików identyfikują pliki GZ, sprawdzając początkową sekwencję bajtów binarnych:

PODPIS HEX (OFFSET 0):

1F 8B 08

REPREZENTACJA ASCII: ..\x08

Normalizacja: IETF RFC 1952

Specyfikacja techniczna

Architektura kontenera10-bajtowy nagłówek (magiczne 0x1F 0x8B, metoda 8, flagi, mtime, OS), po którym następuje strumień DEFLATE oraz 8-bajtowa stopka
KompresjaAlgorytm DEFLATE (okno przesuwne LZ77 + kodowanie Huffmana)
Kolejność bajtów (Endianness)Liczby całkowite nagłówka i stopki w formacie Little-Endian
Przestrzenie kolorówNie dotyczy (Kontener archiwum)
Kanały i strukturaStrumień bajtów skompresowanych dla pojedynczego pliku
Maks. wymiaryNieskompresowany rozmiar rejestrowany modulo 2^32 (obsługuje nieograniczone długości strumieni)
Przezroczystość100% dokładna bitowo bezstratna zachowanie danych
Streaming i progresywne ładowanieSekwencyjne odtwarzanie strumieniowe w jednym przebiegu przez potoki i sieci HTTP

Techniczna macierz porównawcza: GZ a konkurencja

Atrybut technicznyGZ (Bieżący)BZ2BROTLIZSTD
Prędkość dekompresjiSzybka (~300 MB/s)Wolna (~40 MB/s)Bardzo szybka (~400 MB/s)Niezwykle szybka (>1,5 GB/s)
Uniwersalna adopcja w sieci web100% wszystkich przeglądarek i serwerówBrak obsługi w przeglądarkach internetowychObsługiwane przez HTTPS we wszystkich przeglądarekRosnąca obsługa przez przeglądarki i serwery
Pakowanie wielu plikówWymaga kontenera TAR (.tar.gz)Wymaga kontenera TAR (.tar.bz2)Surowy strumień lub niestandardowy kontenerWymaga kontenera TAR (.tar.zst)
Weryfikacja sumy kontrolnej32-bitowe CRC (CRC-32)32-bitowe CRC dla każdego blokuBrak wbudowanych funkcji w strumieniu64-bitowa xxHash

Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego

Błąd wyodrębniania: „gzip: stdin: unexpected end of file".

Główna przyczyna: Przedwczesne zakończenie transferu pliku odcinające strumień DEFLATE lub 8-bajtową stopkę CRC32.

Odzyskiwanie: Wyodrębnij częściową zawartość za pomocą polecenia „gzip -d --keep broken.gz" lub ekstraktoza Gzip w File2File.

Analiza bezpieczeństwa i wektory ataku na parser

Analizatory Gzip przetwarzają kontrolowane przez użytkownika nagłówki i strumienie bitów DEFLATE, które muszą być chronione przed bombami dekompresyjnymi.

Znane wektory ataku

  • Bomba dekompresyjna (bomba zip) rozszerzająca megabajty danych Gzip do setek gigabajtów przestrzeni dyskowej.
  • Przepełnienie bufora podczas odczytu opcjonalnego ciągu oryginalnej nazwy pliku z nagłówka.
  • Przepełnienie liczby całkowitej podczas porównywania 32-bitowej sumy kontrolnej CRC.

Najlepsze praktyki obronne: Wymuś surowe kwoty dekompresji i limity górne pamięci w zautomatyzowanych usługach pozyskiwania danych.

Pochodzenie historyczne i kamienie milowe

1996IETF formalizuje specyfikację formatu pliku Gzip jako RFC 1952.
1993Przyjęty przez Projekt GNU w celu zastąpienia własnościowego uniksowego narzędzia „compress" (pliki .Z).
1992Jean-loup Gailly i Mark Adler tworzą Gzip jako wolne od patentów narzędzie kompresji dla ruchu wolnego oprogramowania.

Główne zalety

  • Uniwersalny wzorzec internetowej kompresji HTTP („Content-Encoding: gzip") obsługiwany przez 100% klientów sieci web.
  • Zachowuje oryginalne znaczniki czasu modyfikacji pliku oraz opcjonalne oryginalne nazwy plików wewnątrz 10-bajtowego nagłówka.
  • Lekkie obciążenie procesora podczas dekompresji, działające płynnie na urządzeniach mobilnych o niskiej mocy i routerach.

Ograniczenia techniczne i wady

  • Kompresja tylko dla pojedynczych plików: nie można skompresować wielu plików lub katalogów bez uprzedniego spakowania ich do kontenera TAR.
  • Stopień kompresji jest niższy niż w przypadku nowoczesnych algorytmów, takich jak Brotli i Zstandard, na współczesnym tekście internetowym.
  • Pole nieskompresowanego rozmiaru w stopce ma 32 bity modulo 2^32, co powoduje błędy wyświetlania po przekroczeniu dla plików większych niż 4 GB.

Ciekawe informacje techniczne

  • Magiczne bajty 0x1F 0x8B zostały wybrane, ponieważ 0x1F historycznie było pierwszym bajtem plików „compress" systemu Unix, podczas gdy 0x8B identyfikowało Gzip.
  • Ponad 80% wszystkich stron internetowych w sieci korzysta z kompresji Gzip do dostarczania stron internetowych do przeglądarek.
  • Jean-loup Gailly napisał kod kompresji, podczas gdy Mark Adler napisał kod dekompresji (inflate); obaj otrzymali nagrodę ACM Software System Award.

Często zadawane pytania techniczne

Dlaczego nie mogę skompresować folderu za pomocą Gzip?

Gzip został zaprojektowany do kompresji pojedynczego strumienia bajtów. Aby skompresować folder, systemy uniksowe najpierw pakują folder do pojedynczego pliku .tar, a następnie kompresują go za pomocą Gzip, aby utworzyć plik .tar.gz.

Jaka jest różnica między .gz a .zip?

.zip to format archiwum, który pakuje wiele plików razem z indeksem katalogu. .gz kompresuje tylko pojedynczy plik i jest powszechnie łączony z programem tar w systemach uniksowych.

Jak mogę zdekompresować plik .gz w systemie Windows lub Mac?

Użyj aplikacji File2File.app, aby natychmiast zdekompresować pliki .gz bezpośrednio w przeglądarce internetowej bez instalowania oprogramowania.