Mi az a GZIP tömörítés?
A GZIP egy veszteségmentes tömörítési fájlformátum, amelyet az RFC 1952 definiál. A DEFLATE algoritmus (RFC 1951) segítségével tömöríti az adatokat.
Hogyan működik a GZIP tömörítés?
A bemeneted teljes mértékben a böngésződben kerül feldolgozásra a natív CompressionStream('gzip') API segítségével. A magas szintű lépések:
- Az eszköz a szöveged vagy fájlod bájtfolyammá alakítja (UTF-8 szöveges bemenet esetén).
- Ezek a bájtok egy
CompressionStream-en keresztül haladnak át, amely agzipformátumra van konfigurálva. - A böngésző alkalmazza a DEFLATE-et: egy csúszó ablak LZ77 lépés ismétlődő szekvenciákat keres, a Huffman kódolás pedig rövidebb kódokat rendel a gyakori szimbólumokhoz.
- Egy 10 bájtos gzip fejléc és egy 8 bájtos lábléc kerül a DEFLATE adat köré.
- Az eredmény Base64 vagy hex formátumban jelenik meg szöveg esetén, vagy letölthető .gz fájlként bináris bemenet esetén.
Miért tömöríts GZIP-pel?
- Kisebb adatcsomagok: a szöveg, JSON, HTML, CSS és forráskód általában töredékére zsugorodik.
- Iparági szabvány: a GZIP-et gyakorlatilag minden HTTP szerver, CDN, böngésző és archívum eszköz ismeri.
- Adatvédelem: a tömörítés teljesen a böngésződben történik. A bemenet soha nem éri el a szervereinket.
- Körbejárható: a kimenet kitömöríthető a
gunzipCLI-vel, HTTPContent-Encoding: gzip-szel és bármely RFC 1952 olvasóval.
Mik a GZIP tömörítés gyakori alkalmazásai?
A GZIP-et széles körben használják a weben és a parancssori eszközökben:
- HTTP átvitel: a web szerverek GZIP-pel tömörítik a válaszokat a gyorsabb betöltés érdekében.
- Napló archiválás: hosszú életű szervernaplók .gz fájlként tárolódnak a lemezhasználat csökkentésére.
- Biztonsági mentések: a tarball-ok (.tar.gz) teljes könyvtár fákat tömörítenek.
Hogyan néz ki egy GZIP tömörítési példa?
Egy 1 KB-os JSON dokumentum sok ismétlődő mezőnévvel általában 200-300 bájtra tömörül — négyszeres-ötszörös méretcsökkenés.
Ez a GZIP tömörítő szabványos RFC 1952 kimenetet állít elő közvetlenül a böngésződben.