Mene ne matsawar GZIP?
GZIP tsarin fayil na matse bayanai ne ba tare da asarar bayanai ba wanda RFC 1952 ya bayyana. Yana nannade abin da aka samar ta hanyar algorithm na DEFLATE (RFC 1951), wanda ke haɗa back-references na LZ77 da coding na Huffman don rage bayanan da ke maimaitawa zuwa jerin bytes mara kyau.
Yadda matsawar GZIP ke aiki?
Ana sarrafa shigarwarku gaba ɗaya a cikin mai binciken ka ta amfani da API na CompressionStream('gzip') na asali. Matakai mafi girma sune:
- Kayan aikin yana juyar da rubutu ko fayil ɗinku zuwa jerin bytes (UTF-8 don shigarwar rubutu).
- Ana ciyar da waɗancan bytes ta cikin
CompressionStreamda aka saita don tsaringzip. - Mai binciken yana amfani da DEFLATE: wucewa ta LZ77 mai taga mai zagawa tana nemo jerin da aka maimata, kuma coding na Huffman yana sanya codes mafi gajere don alamomi na yau da kullun.
- Taken gzip na bytes 10 da kuma kafa na bytes 8 (CRC32 na bayanan asali da kuma tsawon asali modulo 2^32) an nannade su a kusa da abin da aka samar ta DEFLATE, samar da kwantena na .gz na yau da kullun.
- Sakamakon yana nuna a matsayin Base64 ko hex don shigarwar rubutu, ko ana ba da shi a matsayin fayil ɗin .gz da za a iya sauke don shigarwar binary.
Me ya sa a matse da GZIP?
- Abubuwan ƙarami: rubutu, JSON, HTML, CSS, da lambar tushe galibi suna ƙanƙantawa zuwa wani ɓangare na girman asali.
- Ma'aunin masana'antu: kusan kowane uwar garken HTTP, CDN, mai binciken, kayan aikin archive, da ɗakin laburare na yau da kullun na harshe suna fahimtar GZIP.
- Sirri: matsawa tana faruwa gaba ɗaya a cikin mai binciken ka. Shigarwa ba ta taɓa isa uwar garkenmu ba.
- Mai shirye don zagayowa: fitowar tana buɗe matse da CLI na
gunzip, da HTTPContent-Encoding: gzip, da kowane mai karanta RFC 1952 a Python, Node.js, Go, Java, ko Rust.
Menene abubuwan da ake amfani da matsawar GZIP a kullum?
Ana amfani da GZIP a cikin yanar gizo da kayan aiki na layin umarni:
- Jigilar HTTP: uwar garken yanar gizo suna matse amsa tare da GZIP don shafuka su loda da sauri ta cibiyar sadarwa.
- Adana logs: logs ɗin uwar garken masu dadewa ana ajiye su a matsayin fayiloli .gz don rage amfani da faifai.
- Ajiyewa da bundles: tarballs (.tar.gz) suna matse cikakkun bishiyoyin directory don rarraba mai ɗauke da kai.
Yaya misali na matsawar GZIP ke kama?
Takaddar JSON ta 1 KB mai sunayen filayen da aka maimata da yawa galibi tana matse zuwa kusan bytes 200–300 — raguwar girma na huɗu zuwa biyar. Logs ɗin rubutu manya galibi suna matse da kashi 90% ko fiye. Shigarwar da aka riga aka matse (JPEG, PNG, MP4, ZIP) ba za ta ƙanƙanta ƙari ba kuma na iya girma da bytes ƙalilan na framing na GZIP.
Wannan GZIP compressor yana samar da fitowar RFC 1952 ta yau da kullun kai tsaye a cikin mai binciken ka. Ko kuna rage abin da ke ciki kafin watsa ko samar da fayil ɗin .gz don adanawa, sakamakon yana haɗa aiki da kowane kayan aiki mai sani da GZIP a cikin cibiyar sadarwa.