ארכיון GZIP (.gz)

IETF תקן

Gzip (GZ) הוא כלי הדחיסה ותבנית הקבצים הסטנדרטית של GNU, המופץ באופן אוניברסלי במערכות הפעלה דמויות Unix ובשרתי אינטרנט HTTP לצורך דחיסה מהירה של קבצים ונכסי אינטרנט.

המר TAR ל-GZ

ממיר חינמי מ-TAR ל-GZ פועל בדפדפן. המר קבצים באופן מיידי במכשיר שלך.

בדיקה ומטא-דאטה

מערכות הפעלה ומנתחי קבצים מזהים קבצי GZ על ידי בדיקת רצף הבייטים הבינארי הראשוני:

בחר או גרור קבצים לכאן

המרה פרטית ב-100% בתוך הדפדפן - הקבצים לעולם אינם עוזבים את המכשיר שלך

או הדבק Ctrl+V
הבטחת פרטיות ללא העברה ברשת: 0 בייט הועלו לשרתים חיצוניים. כל העיבוד מתבצע באופן מקומי בארגז החול של הדפדפן שלך.

חתימת כותרת ברמת הבייט (Magic Bytes)

מערכות הפעלה ומנתחי קבצים מזהים קבצי GZ על ידי בדיקת רצף הבייטים הבינארי הראשוני:

חתימת HEX (היסט 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)Little-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
הזרמה ופרוגרסיביותSequential single-pass streaming playback over pipes and HTTP networks

מטריצת השוואה טכנית: GZ מול מתחרים

תכונה טכניתGZ (נוכחי)BZ2BROTLIZSTD
מהירות פריסהמהירה (~300 מגה-בייט/שנייה)איטית (~40 מגה-בייט/שנייה)מהירה מאוד (~400 מגה-בייט/שנייה)מהירה במיוחד (>1.5 ג'יגה-בייט/שנייה)
אימוץ אינטרנט אוניברסלי100% מכלל הדפדפנים והשרתיםאפס תמיכה בדפדפני אינטרנטנתמך מעל HTTPS בכל הדפדפניםתמיכה גדלה והולכת בדפדפנים ובשרתים
אריזת ריבוי קבציםדורש מעטפת TAR (‎.tar.gz)דורש מעטפת TAR (‎.tar.bz2)זרם גולמי או מעטפת מותאמת אישיתדורש מעטפת TAR (‎.tar.zst)
אימות סכום ביקורתCRC של 32-ביט (CRC-32)CRC של 32-ביט לכל בלוקללא מובנה בזרםxxHash של 64-ביט

מצבי שיחשות נפוצים ומדריך שחזור הקסדצימלי (Hex)

שגיאת חילוץ: 'gzip: stdin: unexpected end of file'.

גורם שורש: הפסקת העברת קבצים מוקדמת שקטעה את זרם ה-DEFLATE או את כותרת ה-CRC32 בת ה-8 בתים.

התאוששות: חלץ תוכן חלקי באמצעות 'gzip -d --keep broken.gz' או כלי החילוץ של File2File Gzip.

ניתוח אבטחה ווקטורי התקפה על מנתחים (Parsers)

מנתחי Gzip מעבדים כותרות וזרמי סיביות DEFLATE הנשלטים על ידי המשתמש, ויש להגן עליהם מפני פצצות דחיסה.

ווקטורי תקיפה ידועים

  • פצצת דחיסה (פצצת zip) המרחיבה מגה-בייט של נתוני Gzip למאות ג'יגה-בייט של נפח אחסון בדיסק.
  • גלישת חוצץ (Buffer overflow) בעת קריאת מחרוזת שם הקובץ המקורי האופציונלי מהכותרת.
  • גלישת מספר שלם (Integer overflow) במהלך השוואת בדיקת ה-CRC של 32-ביט.

השיטות המומלצות להגנה:

היסטוריה ואבני דרך

1996ה-IETF ממסד את מפרט תבנית הקבצים Gzip בתור RFC 1952.
1993אומץ על ידי פרויקט GNU כדי להחליף את כלי ה-'compress' הקנייני של Unix (קבצי .Z).
1992ז'אן-לופ גאילי ומארק אדלר יוצרים את Gzip ככלי דחיסה נטול פטנטים עבור תנועת התוכנה החופשית.

יתרונות מרכזיים

  • מדד הייחוס האוניברסלי לדחיסת HTTP באינטרנט ('Content-Encoding: gzip') הנתמך על ידי 100% מדפדפני האינטרנט.
  • שומר על חותמות הזמן המקוריות של שינוי הקובץ ושמות הקבצים המקוריים האופציונליים בתוך כותרת ה-10 בתים.
  • טביעת רגל מעבד (CPU) קלה במהלך פריסה, הפועלת באופן חלק בהתקנים ניידים ובנתבים בעלי הספק נמוך.

מגבלות טכניות וחסרונות

  • דחיסת קובץ בודד בלבד: אינו יכול לדחוס מספר קבצים או תיקיות מבלי לארוז אותם תחילה בתוך מעטפת TAR.
  • יחס הדחיסה נמוך יותר מאשר אלגוריתמים מודרניים כמו Brotli ו-Zstandard על טקסט אינטרנט מודרני.
  • שדה גודל הקובץ הלא דחוס בכותרת התחתונה הוא 32-ביט מודולו 2^32, הגורם לבאגים בתצוגת גלישה בקבצים הגדולים מ-4 GB.

עובדות טכניות מעניינות

  • בתי הקסם (magic bytes) 0x1F 0x8B נבחרו משום ש-0x1F היה היסטורית הבת הראשון של קבצי 'compress' ב-Unix, בעוד ש-0x8B זיהה את Gzip.
  • מעל 80% מכלל אתרי האינטרנט ברשת משתמשים בדחיסת Gzip כדי לספק דפי אינטרנט לדפדפנים.
  • ז'אן-לופ גאילי כתב את קוד הדחיסה בעוד שמארק אדלר כתב את קוד הפריסה (inflate); שניהם קיבלו את פרס ACM למערכות תוכנה.

שאלות טכניות נפוצות

מדוע איני יכול לדחוס תיקייה באמצעות Gzip?

Gzip תוכנן לדחוס זרם בייטים בודד. כדי לדחוס תיקייה, מערכות יוניקס אורזות תחילה את התיקייה לקובץ .tar יחיד, ואז דוחסות אותו באמצעות Gzip כדי ליצור קובץ .tar.gz.

מה ההבדל בין .gz ל-.zip?

.zip הוא פורמט ארכיון המארז מספר קבצים יחד עם אינדקס ספרייה. .gz דוחס קובץ יחיד בלבד ומצורף בדרך כלל ל-tar במערכות יוניקס.

כיצד אוכל לפענח קובץ .gz ב-Windows או ב-Mac?

השתמש ב-File2File.app כדי לפענח באופן מיידי קבצי .gz ישירות בדפדפן האינטרנט שלך ללא התקנת תוכנה כלשהי.