Ufunguzi wa GZIP ni nini?
GZIP ni muundo wa faili wa ukandamizaji usio na hasara uliofafanuliwa na RFC 1952. Ufunguzi hubadilisha algorithm ya DEFLATE (RFC 1951) — husoma tena marejeleo ya LZ77 na alama zilizosimbwa kwa Huffman ili kurejesha baiti asili hasa.
Ufunguzi wa GZIP hufanyaje kazi?
Ingizo lako linachakatwa kabisa kwenye kivinjari chako ukitumia API asili ya DecompressionStream('gzip'). Hatua kuu ni:
- Zana huchambua ingizo lako kama Base64 au hex (kwa maandishi) au husoma baiti ghafi za faili la .gz unaloupakia.
- Kichwa cha baiti 10 cha gzip kinathibitishwa, malipo ya DEFLATE yanaidentifikwa, na kijachini cha baiti 8 (CRC32 + urefu-asili-mod-2^32) kinawekwa kando kwa uthibitishaji.
- Baiti hupitishwa kupitia
DecompressionStreamiliyosanidiwa kwa muundo wagzip. - Kivinjari hubadilisha DEFLATE: misimbo ya Huffman husomwa tena kwenye alama na marejeleo ya LZ77 yanafunuliwa kwenye mkondo asili wa baiti.
- Mkondo huthibitisha CRC32 na kijachini cha urefu dhidi ya baiti zilizorejelewa, kisha huzitoa kama maandishi ya UTF-8 katika fomu ya maandishi au kama faili linaloweza kupakuliwa katika fomu ya upakiaji.
Kwa nini kufungua kwa zana hii?
- Kagua majibu: soma miili ya HTTP iliyosimbwa kwa GZIP na malipo ya CDN ambayo zana nyingine zingewakilisha kama kelele za binary.
- Rejesha hifadhi: toa faili za kumbukumbu za .gz, madumpio ya usanidi, na vipande vya tarball bila kusakinisha programu ya ziada.
- Faragha: ufunguzi hufanyika kabisa kwenye kivinjari chako. Ingizo haifiki seva zetu kamwe.
- Inakidhi viwango: inakubali mkondo wowote wa RFC 1952 uliozalishwa na CLI ya
gzip, na seva za HTTP, au na maktaba za kawaida za lugha katika Python, Node.js, Go, Java, au Rust.
Matumizi ya kawaida ya ufunguzi wa GZIP ni yapi?
Kufungua GZIP kunaonekana kwenye kazi ya wavuti na zana:
- Utatuzi wa API: kubandika mwili ghafi wa jibu la
Content-Encoding: gzipkuona JSON au HTML ya msingi. - Uchunguzi wa kumbukumbu: kufungua faili za
.log.gzzilizogeuzwa kutafuta matukio bila pipeline kamili ya utoleshaji. - Kuthibitisha nakala rudufu: kuthibitisha kwamba hifadhi ya .gz iliyozalishwa na zana nyingine inafungua kwa usafi kabla ya kuitegemea.
Mfano wa ufunguzi wa GZIP unaonekanaje?
Mfuatano wa baiti 200 wa Base64 unaoanza na H4sI ni ishara ya kawaida ya kichwa cha gzip — baiti za uchawi 1f 8b husimbwa kwenye herufi hizo. Kubandika mfuatano huo na kubonyeza FUNGUA kunarudisha maandishi asili hasa, baiti kwa baiti, ikiwemo nafasi na mstari mpya wa mwisho.
Kifunguzi hiki cha GZIP kinakubali ingizo lolote la RFC 1952 na kuzalisha baiti asili moja kwa moja kwenye kivinjari chako. Kiunganisha na Kikandamizaji GZIP kwa safari ya pande zote ya maandishi au faili bila kuacha ukurasa.