Τι είναι η συμπίεση GZIP;
Το GZIP είναι μια μορφή συμπίεσης αρχείων χωρίς απώλειες που ορίζεται από το RFC 1952.
Πώς λειτουργεί η συμπίεση GZIP;
Η είσοδός σας επεξεργάζεται εξ ολοκλήρου στο πρόγραμμα περιήγησής σας χρησιμοποιώντας το εγγενές CompressionStream('gzip') API.
- Το εργαλείο μετατρέπει το κείμενο ή το αρχείο σας σε μια ροή bytes (UTF-8 για κείμενο).
- Αυτά τα bytes τροφοδοτούνται μέσω ενός
CompressionStreamπου έχει ρυθμιστεί για τη μορφήgzip. - Το πρόγραμμα περιήγησης εφαρμόζει DEFLATE: ένα πέρασμα LZ77 βρίσκει επαναλαμβανόμενες ακολουθίες και η κωδικοποίηση Huffman αναθέτει μικρότερους κωδικούς σε κοινά σύμβολα.
- Μια κεφαλίδα gzip 10-byte και ένα υποσέλιδο 8-byte τυλίγονται γύρω από το ωφέλιμο φορτίο DEFLATE.
- Το αποτέλεσμα αποδίδεται ως Base64 ή hex για κείμενο ή ως λήψιμο .gz αρχείο για δυαδική είσοδο.
Γιατί να συμπιέσετε με GZIP;
- Μικρότερα ωφέλιμα φορτία: κείμενο, JSON, HTML, CSS και κώδικας συνήθως συρρικνώνονται σημαντικά.
- Βιομηχανικό πρότυπο: κάθε HTTP διακομιστής, CDN και πρόγραμμα περιήγησης κατανοεί το GZIP.
- Ιδιωτικότητα: η συμπίεση γίνεται εξ ολοκλήρου στο πρόγραμμα περιήγησής σας.
- Έτοιμο για αναστροφή: η έξοδος αποσυμπιέζεται με gunzip και
Content-Encoding: gzip.
Ποιες είναι οι κοινές εφαρμογές;
Το GZIP χρησιμοποιείται στον Ιστό και σε εργαλεία γραμμής εντολών:
- Μεταφορά HTTP: οι διακομιστές Ιστού συμπιέζουν αποκρίσεις με GZIP.
- Αρχειοθέτηση καταγραφών: τα αρχεία καταγραφής αποθηκεύονται ως .gz.
- Αντίγραφα ασφαλείας: τα tarballs (.tar.gz) συμπιέζουν ολόκληρες δομές καταλόγων.
Πώς μοιάζει ένα παράδειγμα;
Ένα έγγραφο JSON 1 KB με επαναλαμβανόμενα ονόματα πεδίων συνήθως συμπιέζεται σε περίπου 200-300 bytes.
Αυτός ο GZIP συμπιεστής παράγει τυπική έξοδο RFC 1952 απευθείας στο πρόγραμμα περιήγησής σας.