GZIP Arşivi (.gz)

IETF Standart

Gzip (GZ), Unix işletim sistemlerinde ve internet HTTP sunucularında hızlı dosya ve web varlığı sıkıştırması için olarak dağıtılan standart GNU sıkıştırma aracı ve dosya formatıdır.

TAR biçimini GZ biçimine dönüştür

Tarayıcında TAR biçimini GZ biçimine ücretsiz dönüştür. Dosyaları cihazında anında dönüştür.

İncele ve Meta Veriler

İşletim sistemleri ve dosya çözümleyicileri, GZ dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:

Dosyaları buraya seç veya bırak

Özel - dosyalar cihazınızdan asla ayrılmaz

veya yapıştır Ctrl+V
Sıfır Ağ Aktarımı Gizlilik Garantisi: Harici sunuculara 0 bayt yüklendi. Tüm işlemler tarayıcındaki korumalı alanda (sandbox) yerel olarak gerçekleştirildi.

Bayt düzeyinde başlık imzası (sihirli baytlar)

İşletim sistemleri ve dosya çözümleyicileri, GZ dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:

HEX İMZASI (OFSET 0):

1F 8B 08

ASCII GÖSTERİMİ: ..\x08

Standartlaştırma: IETF RFC 1952

Teknik Özellikler

Kapsayıcı mimarisiArdından DEFLATE akışı ve 8 baytlık altbilgi gelen 10 baytlık üstbilgi (sihirli değer 0x1F 0x8B, yöntem 8, bayraklar, mtime, OS)
SıkıştırmaDEFLATE algoritması (LZ77 kayan penceresi + Huffman kodlaması)
Bayt Düzeni (Endianness)Küçük uçlu üstbilgi ve altbilgi tamsayıları
Renk UzaylarıN/A (Archive Container)
Kanallar ve YapıTek dosyalık sıkıştırılmış bayt akışı
Maksimum BoyutlarSıkıştırılmamış boyut 2^32 modunda kaydedilir (sınırsız akış uzunluğunu destekler)
ŞeffaflıkVerilerin bit düzeyinde %100 tam ve kayıpsız korunması
Akış ve Aşamalı İşlemeBoru hatları ve HTTP ağları üzerinden tek geçişli sıralı akış oynatımı

Teknik karşılaştırma matrisi: GZ ve rakipleri

Teknik NitelikGZ (Güncel)BZ2BROTLIZSTD
Dosya Açma HızıHızlı (~300 MB/s)Yavaş (~40 MB/s)Çok Hızlı (~400 MB/s)Ultra Hızlı (>1.5 GB/s)
Webde yaygın kullanımTüm tarayıcıların ve sunucuların %100'üSıfır web tarayıcısı desteğiTüm tarayıcılarda HTTPS üzerinden desteklenirBüyüyen tarayıcı ve sunucu desteği
Çoklu Dosya PaketlemeTAR kapsayıcısı gerektirir (.tar.gz)TAR kapsayıcısı gerektirir (.tar.bz2)Ham akış veya özel kapsayıcıTAR kapsayıcısı gerektirir (.tar.zst)
Sağlama Toplamı Doğrulaması32-bit CRC (CRC-32)Blok başına 32-bit CRCAkışta dahili yok64-bit xxHash

Yaygın Bozulma Modları ve Hex Kurtarma Kılavuzu

Çıkarma hatası: 'gzip: stdin: unexpected end of file'.

Kök Neden: DEFLATE akışını veya 8 baytlık CRC32 alt bilgisini kesintiye uğratan erken dosya aktarım sonlandırması.

Kurtarma: Kısmi içeriği 'gzip -d --keep broken.gz' komutuyla veya File2File.app Gzip Extractor ile çıkar.

Güvenlik Analizi ve Ayrıştırıcı Saldırı Vektörleri

Gzip ayrıştırıcıları, kullanıcı kontrollü başlıkları ve sıkıştırma bombalarına karşı korunması gereken DEFLATE bit akışlarını işler.

Bilinen Saldırı Vektörleri

  • Megabaytlarca Gzip verisini yüzlerce gigabayt disk alanına genişleten sıkıştırma bombası (zip bombası).
  • Başlıktan isteğe bağlı orijinal dosya adı dizesi okunurken arabellek taşması (buffer overflow).
  • 32-bit CRC kontrolü karşılaştırması sırasında tamsayı taşması.

Savunmaya yönelik en iyi uygulamalar: Otomatik veri alma hizmetlerinde açma kotaları ve bellek kullanımı için katı üst sınırlar koy.

Tarihsel kökenler ve önemli dönüm noktaları

1996IETF, Gzip dosya formatı spesifikasyonunu RFC 1952 olarak resmi standart haline getirdi.
1993Tescilli Unix 'compress' aracının (.Z dosyaları) yerini almak üzere GNU Projesi tarafından benimsendi.
1992Jean-loup Gailly ve Mark Adler, özgür yazılım hareketi için patent içermeyen bir sıkıştırma aracı olarak Gzip'i yarattı.

Temel Avantajlar ve Artılar

  • Web istemcilerinin %100'ü tarafından desteklenen, internet HTTP sıkıştırması ('Content-Encoding: gzip') için evrensel kıstas.
  • 10 baytlık başlık içinde orijinal dosya değişiklik zaman damgalarını ve isteğe bağlı orijinal dosya adlarını korur.
  • Düşük güç tüketimine sahip mobil cihazlarda ve yönlendiricilerde sorunsuz çalışan, dosya açma sırasında hafif CPU tüketimi.

Teknik Kısıtlamalar ve Eksiler

  • Yalnızca tek dosya sıkıştırır: birden fazla dosya veya dizini önce bir TAR kapsayıcısında birleştirmeden sıkıştıramaz.
  • Sıkıştırma oranı, modern web metinlerinde Brotli ve Zstandard gibi modern algoritmalara göre daha düşüktür.
  • Alt bilgideki sıkıştırılmamış boyut alanı 32-bit modulo 2^32'dir ve 4 GB'tan büyük dosyalarda taşma nedeniyle görüntüleme hatalarına yol açar.

İlginç Teknik Bilgiler

  • 0x1F 0x8B sihirli baytları seçilmiştir çünkü 0x1F tarihsel olarak Unix 'compress' dosyalarının ilk baytıyken, 0x8B Gzip'i tanımlar.
  • İnternetteki web sitelerinin %80'inden fazlası, web sayfalarını tarayıcılara ulaştırmak için Gzip sıkıştırmasını kullanır.
  • Jean-loup Gailly sıkıştırma kodunu yazarken, Mark Adler dosya açma (inflate) kodunu yazmıştır; her ikisi de ACM Yazılım Sistemleri Ödülü'nü almıştır.

Sıkça Sorulan Teknik Sorular

Gzip ile neden bir klasörü sıkıştıramıyorum?

Gzip, tek bir bayt akışını sıkıştırmak için tasarlanmıştır. Bir klasörü sıkıştırmak için Unix sistemleri önce klasörü tek bir .tar dosyasında birleştirir, ardından .tar.gz dosyası oluşturmak için Gzip ile sıkıştırır.

.gz ve .zip arasındaki fark nedir?

.zip, birden fazla dosyayı dizin indeksiyle birlikte paketleyen bir arşiv formatıdır. .gz ise yalnızca tek bir dosyayı sıkıştırır ve Unix sistemlerinde genellikle tar ile birlikte kullanılır.

Windows veya Mac'te bir .gz dosyasını nasıl açabilirim?

.gz dosyalarını hiçbir yazılım yüklemeden doğrudan web tarayıcında anında açmak için File2File.app'i kullan.