GZIP архив (.gz)

IETF Стандарт

Gzip (GZ) е стандартната GNU помощна програма за компресиране и файлов формат, разпространена повсеместно в Unix операционните системи и интернет HTTP сървърите за бързо компресиране на файлове и уеб ресурси.

Конвертиране на TAR към GZ

Безплатен конвертор от TAR към GZ в браузъра. Конвертирайте файлове незабавно на вашето устройство.

Инспектиране и метаданни

Операционните системи и файловите анализатори идентифицират GZ файлове чрез проверка на началната двоична байтова последователност:

Изберете или пуснете файлове тук

100% поверително конвертиране в браузъра - файловете никога не напускат вашето устройство

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Байтов подпис на хедъра (Magic Bytes)

Операционните системи и файловите анализатори идентифицират GZ файлове чрез проверка на началната двоична байтова последователност:

HEX ПОДПИС (ОФСЕТ 0):

1F 8B 08

ASCII ПРЕДСТАВЯНЕ: ..\x08

Стандартизация: IETF RFC 1952

Технически спецификации

Контейнерна архитектура10-byte header (magic 0x1F 0x8B, method 8, flags, mtime, OS) followed by DEFLATE stream and 8-byte footer
КомпресияDEFLATE algorithm (LZ77 sliding window + Huffman coding)
Поредност на байтовете (Endianness)Little-Endian header and footer integers
Цветови пространстваN/A (Archive Container)
Канали и структураSingle-file compressed byte stream
Максимални размериUncompressed size recorded modulo 2^32 (supports unbounded stream lengths)
Прозрачност100% bit-exact lossless data preservation
Стрийминг и прогресивно зарежданеSequential single-pass streaming playback over pipes and HTTP networks

Техническа сравнителна матрица: GZ спрямо конкуренти

Технически атрибутGZ (Текущ)BZ2BROTLIZSTD
Скорост на декомпресияБърза (~300 MB/s)Бавна (~40 MB/s)Много бърза (~400 MB/s)Ултра бърза (>1.5 GB/s)
Универсално уеб приемане100% от всички браузъри и сървъриНулева поддръжка от уеб браузъриПоддържа се през HTTPS във всички браузъриНарастваща поддръжка в браузъри и сървъри
Пакетиране на множество файловеИзисква TAR контейнер (.tar.gz)Изисква TAR контейнер (.tar.bz2)Суров поток или персонализиран контейнерИзисква TAR контейнер (.tar.zst)
Проверка на контролна сума32-битов CRC (CRC-32)32-битов CRC на блокНяма вградена в потока64-битов xxHash

Често срещани режими на повреда и ръководство за хекс възстановяване

Грешка при извличане: 'gzip: stdin: unexpected end of file'.

Първопричина: Преждевременно прекратяване на прехвърлянето на файла, прекъсващо DEFLATE потока или 8-байтовия CRC32 долен колонтитул.

Възстановяване: Извлечете частични съдържания с помощта на 'gzip -d --keep broken.gz' или File2File Gzip Extractor.

Анализ на сигурността и вектори на атака към парсера

Анализаторите на Gzip обработват контролирани от потребителя заглавия и DEFLATE битови потоци, които трябва да бъдат защитени срещу декомпресионни бомби.

Известни вектори на атака

  • Декомпресионна бомба (zip бомба), разширяваща мегабайти Gzip данни в стотици гигабайти дисково пространство.
  • Препълване на буфера при четене на опционалния низ с оригиналното име на файла от заглавието.
  • Целочислено препълване по време на сравнението на 32-битовата CRC проверка.

Защитни добри практики:

Исторически произход и етапи

1996IETF стандартизира спецификацията на файловия формат Gzip като RFC 1952.
1993Приет от проекта GNU за замяна на проприетарната Unix програма за компресиране 'compress' (.Z файлове).
1992Жан-Луп Гайли и Марк Адлер създават Gzip като инструмент за компресиране без патенти за движението за свободен софтуер.

Основни предимства и плюсове

  • Универсалният еталон за интернет HTTP компресия ('Content-Encoding: gzip'), поддържан от 100% от уеб клиентите.
  • Запазва оригиналните времеви щампи за модификация на файла и опционални оригинални имена на файлове вътре в 10-байтовото заглавие.
  • Лек отпечатък върху процесора по време на декомпресия, работещ гладко на мобилни устройства и рутери с ниска мощност.

Технически ограничения и минуси

  • Компресиране само на един файл: не може да компресира множество файлове или директории, без те първо да бъдат обединени в TAR контейнер.
  • Коефициентът на компресия е по-нисък от съвременните алгоритми като Brotli и Zstandard при модерен уеб текст.
  • Полето за размера на некомпресираните данни в долния колонтитул е 32-битово модуло 2^32, което води до грешки при превъртане на дисплея за файлове, по-големи от 4 GB.

Интересни технически факти

  • Магическите байтове 0x1F 0x8B са избрани, защото исторически 0x1F е бил първият байт на Unix файловете 'compress', докато 0x8B идентифицира Gzip.
  • Над 80% от всички уебсайтове в интернет използват Gzip компресия за доставяне на уеб страници до браузърите.
  • Жан-Луп Гайли написва кода за компресиране, докато Марк Адлер написва кода за декомпресиране (inflate); и двамата получават наградата за софтуерни системи на ACM.

Често задавани технически въпроси

Защо не мога да компресирам цяла папка с Gzip?

Gzip е проектиран да компресира един единствен поток от байтове. За да компресират папка, системите Unix първо обединяват папката в един .tar файл, след което я компресират с Gzip, за да създадат .tar.gz файл.

Каква е разликата между .gz и .zip?

.zip е архивен формат, който опакова множество файлове заедно с индекс на директорията. .gz компресира само един единствен файл и обикновено се комбинира с tar на Unix системите.

Как мога да декомпресирам .gz файл на Windows или Mac?

Използвайте File2File.app за незабавно декомпресиране на .gz файлове директно във вашия уеб браузър без инсталиране на софтуер.