Αρχειοθήκη GZIP (.gz)

IETF Τυπικό

Το Gzip (GZ) είναι το τυπικό βοηθητικό πρόγραμμα συμπίεσης και ο μορφότυπος αρχείων του GNU, το οποίο αναπτύσσεται καθολικά σε λειτουργικά συστήματα Unix και διακομιστές ιστού HTTP για γρήγορη συμπίεση αρχείων και στοιχείων ιστού.

Μετατροπή TAR σε GZ

Δωρεάν μετατροπέας από TAR σε GZ εντός του προγράμματος περιήγησης. Μετατρέψτε αρχεία άμεσα στη συσκευή σας.

Επιθεώρηση & Μεταδεδομένα

Τα λειτουργικά συστήματα και τα εργαλεία ανάλυσης αρχείων αναγνωρίζουν τα αρχεία GZ ελέγχοντας την αρχική δυαδική ακολουθία byte:

Επιλέξτε ή αποθέστε αρχεία εδώ

100% ιδιωτική μετατροπή εντός προγράμματος περιήγησης - τα αρχεία δεν φεύγουν ποτέ από τη συσκευή σας

ή επικόλληση Ctrl+V
Εγγύηση Απορρήτου Μηδενικής Μετάδοσης Δικτύου: 0 byte μεταφορτώθηκαν σε εξωτερικούς διακομιστές. Όλη η επεξεργασία πραγματοποιήθηκε τοπικά στο sandbox του προγράμματος περιήγησής σας.

Υπογραφή κεφαλίδας σε επίπεδο byte (Magic Bytes)

Τα λειτουργικά συστήματα και τα εργαλεία ανάλυσης αρχείων αναγνωρίζουν τα αρχεία GZ ελέγχοντας την αρχική δυαδική ακολουθία byte:

ΔΕΚΑΕΞΑΔΙΚΗ ΥΠΟΓΡΑΦΗ (OFFSET 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 ByteLittle-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
Streaming & Προοδευτική Φόρτωση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% όλων των browsers & serversΜηδενική υποστήριξη από web browserΥποστηρίζεται μέσω HTTPS σε όλους τους browsersΑυξανόμενη υποστήριξη σε browser & server
Συσκευασία Πολλαπλών ΑρχείωνΑπαιτεί δοχείο TAR (.tar.gz)Απαιτεί δοχείο TAR (.tar.bz2)Ακατέργαστη ροή ή προσαρμοσμένος περιέκτηςΑπαιτεί δοχείο TAR (.tar.zst)
Επαλήθευση Αθροίσματος ΕλέγχουCRC 32-bit (CRC-32)CRC 32-bit ανά μπλοκΚανένα ενσωματωμένο στη ροήxxHash 64-bit

Συνηθισμένοι Τρόποι Διαφθοράς & Οδηγός Ανάκτησης Hex

Σφάλμα εξαγωγής: 'gzip: stdin: unexpected end of file'.

Βασική Αιτία: Πρόωρη διακοπή μεταφοράς αρχείου που έκοψε τη ροή DEFLATE ή το υποσέλιδο CRC32 8-byte.

Ανάκτηση: Εξάγετε τμηματικά περιεχόμενα χρησιμοποιώντας την εντολή 'gzip -d --keep broken.gz' ή το File2File Gzip Extractor.

Ανάλυση Ασφάλειας & Διανύσματα Επίθεσης Parser

Οι αναλύτες Gzip επεξεργάζονται κεφαλίδες που ελέγχονται από τον χρήστη και ροές bit DEFLATE, οι οποίες πρέπει να προστατεύονται από βόμβες αποσυμπίεσης.

Γνωστά διανύσματα επίθεσης

  • Βόμβα αποσυμπίεσης (zip bomb) που επεκτείνει megabyte δεδομένων Gzip σε εκατοντάδες gigabyte χώρου στο δίσκο.
  • Υπερχείλιση buffer (buffer overflow) κατά την ανάγνωση προαιρετικής συμβολοσειράς ονόματος αρχείου από την κεφαλίδα.
  • Υπερχείλιση ακεραίου κατά τη σύγκριση ελέγχου CRC 32-bit.

Βέλτιστες αμυντικές πρακτικές:

Ιστορική Αναδρομή & Ορόσημα

1996Το IETF τυποποιεί την προδιαγραφή του μορφότυπου αρχείων Gzip ως RFC 1952.
1993Υιοθετείται από το GNU Project για να αντικαταστήσει το ιδιόκτητο βοηθητικό πρόγραμμα 'compress' του Unix (αρχεία .Z).
1992Οι Jean-loup Gailly και Mark Adler δημιουργούν το Gzip ως ένα εργαλείο συμπίεσης ελεύθερο από διπλώματα ευρεσιτεχνίας για το κίνησης ελεύθερου λογισμικού.

Κύρια Πλεονεκτήματα

  • Το παγκόσμιο σημείο αναφοράς για συμπίεση ιστού HTTP ('Content-Encoding: gzip') που υποστηρίζεται από το 100% των προγραμμάτων περιήγησης ιστού.
  • Διατηρεί τα αρχικά χρονικά σήματα τροποποίησης αρχείων και τα προαιρετικά αρχικά ονόματα αρχείων εντός της κεφαλίδας 10 byte.
  • Ελαφρύ αποτύπωμα CPU κατά την αποσυμπίεση, εκτελούμενο ομαλά σε κινητές συσκευές χαμηλής ισχύος και δρομολογητές (routers).

Τεχνικοί Περιορισμοί & Μειονεκτήματα

  • Συμπίεση μόνο ενός αρχείου: δεν μπορεί να συμπιεσέι πολλαπλά αρχεία ή καταλόγους χωρίς πρώτα να τα ομαδοποιήσει σε ένα δοχείο TAR.
  • Ο λόγος συμπίεσης είναι χαμηλότερος από σύγχρονους αλγορίθμους όπως το Brotli και το Zstandard σε σύγχρονο κείμενο ιστού.
  • Το πεδίο μεγέθους μη συμπιεσμένων δεδομένων στο υποσέλιδο είναι 32-bit modulo 2^32, προκαλώντας σφάλματα εμφάνισης υπερχείλισης (rollover) σε αρχεία μεγαλύτερα από 4 GB.

Ενδιαφέροντα Τεχνικά Στοιχεία

  • Τα μαγικά byte 0x1F 0x8B επιλέχθηκαν επειδή το 0x1F ήταν ιστορικά το πρώτο byte των αρχείων 'compress' του Unix, ενώ το 0x8B ταυτοποιούσε το Gzip.
  • Πάνω από το 80% όλων των ιστοσελίδων στο διαδίκτυο χρησιμοποιούν συμπίεση Gzip για την παράδοση ιστοσελίδων σε προγράμματα περιήγησης.
  • Ο Jean-loup Gailly έγραψε τον κώδικα συμπίεσης ενώ ο Mark Adler έγραψε τον κώδικα αποσυμπίεσης (inflate). Και οι δύο έλαβαν το βραβείο ACM Software System Award.

Συχνές Τεχνικές Ερωτήσεις

Γιατί δεν μπορώ να συμπιέσω έναν φάκελο με το Gzip;

Το Gzip σχεδιάστηκε για να συμπιέζει μια ενιαία ροή byte. Για να συμπιέσουν έναν φάκελο, τα συστήματα Unix πρώτα ομαδοποιούν τον φάκελο σε ένα ενιαίο αρχείο .tar και στη συνέχεια τον συμπιέζουν με Gzip για να δημιουργήσουν ένα αρχείο .tar.gz.

Ποια είναι η διαφορά μεταξύ .gz και .zip;

Το .zip είναι μια μορφή αρχειοθήκης που πακετάρει πολλαπλά αρχεία μαζί με ένα ευρετήριο καταλόγου. Το .gz συμπιέζει μόνο ένα μεμονωμένο αρχείο και συνήθως συνδυάζεται με το tar σε συστήματα Unix.

Πώς μπορώ να αποσυμπιέσω ένα αρχείο .gz σε Windows ή Mac;

Χρησιμοποιήστε το File2File.app για να αποσυμπιέσετε άμεσα αρχεία .gz απευθείας στο πρόγραμμα περιήγησής σας χωρίς καμία εγκατάσταση λογισμικού.