أرشيف GZIP (.gz)

IETF قياسي

Gzip (GZ) أداة الضغط القياسية في GNU وصيغتها المرتبطة، وتُستخدم على نطاق واسع في أنظمة Unix وخوادم HTTP لضغط الملفات وموارد الويب بسرعة.

تحويل TAR إلى GZ

محول مجاني داخل المتصفح للتحويل من TAR إلى GZ. قم بتحويل الملفات فوراً على جهازك.

فحص البيانات الوصفية

تتعرف أنظمة التشغيل ومحللات الملفات على ملفات GZ من خلال فحص تسلسل البايت الثنائي البادئ:

اختر الملفات أو أسقطها هنا

خاص - لا تغادر الملفات جهازك أبدًا

أو الصق Ctrl+V
ضمان الخصوصية وعدم الإرسال عبر الشبكة: صفر بايت يتم رفعه إلى خوادم خارجية. تمت كل عمليات المعالجة محلياً في صندوق الحماية (Sandbox) الخاص بمتصفحك.

توقيع رأس الملف على مستوى البايت (Magic Bytes)

تتعرف أنظمة التشغيل ومحللات الملفات على ملفات GZ من خلال فحص تسلسل البايت الثنائي البادئ:

التوقيع الست عشري (الإزاحة 0):

1F 8B 08

تمثيل ASCII: ..\x08

التوحيد القياسي: IETF RFC 1952

المواصفات الفنية

هيكلية الحاويةترويسة من 10 بايتات (التوقيع 0x1F 0x8B، والطريقة 8، والأعلام، ووقت التعديل، ونظام التشغيل)، تليها بيانات DEFLATE وتذييل من 8 بايتات
الضغطخوارزمية DEFLATE (نافذة انزلاقية LZ77 وترميز هوفمان)
ترتيب البايتات (Endianness)الأعداد الصحيحة في الترويسة والتذييل بترتيب البايتات الصغير (Little-Endian)
مساحات الألوانلا ينطبق (حاوية أرشيف)
القنوات والبنيةتدفق بايتات مضغوط لملف واحد
الحد الأقصى للأبعاديُسجَّل الحجم بعد فك الضغط بترديد 2^32 (ما يتيح أطوالاً غير محدودة للتدفق)
الشفافيةحفظ البيانات دون فقدان، بتطابق تام على مستوى البتات
البث والتحميل التدرجييدعم فك التدفق بالتتابع مروراً واحداً عبر الأنابيب وشبكات HTTP

مصفوفة المقارنة التقنية: 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 بت

أنماط التلف الشائعة ودليل الاسترداد بالنظام الست عشري

خطأ في فك الضغط: «gzip: stdin: نهاية غير متوقعة للملف».

السبب الجذري: انقطع نقل الملف قبل اكتمال تدفق DEFLATE أو تذييل CRC32 ذي الثمانية بايتات.

الاسترداد: استخرج المحتوى الجزئي باستخدام الأمر gzip -d --keep broken.gz أو أداة Gzip Extractor في File2File.app.

تحليل الأمان ومتجهات الهجوم على المحلّل

تعالج محللات Gzip ترويسات يتحكم فيها المستخدم وتدفقات DEFLATE، لذا يجب حمايتها من قنابل فك الضغط.

ناقلات الهجوم المعروفة

  • قنبلة فك ضغط (zip bomb) تحوّل ميغابايتات من بيانات Gzip إلى مئات الغيغابايتات من مساحة القرص.
  • قد يحدث تجاوز لسعة المخزن المؤقت عند قراءة اسم الملف الأصلي الاختياري من الترويسة.
  • تجاوز للأعداد الصحيحة أثناء مقارنة قيمة فحص CRC ذي 32 بت.

أفضل الممارسات الدفاعية: فرض حدود صارمة على حجم البيانات بعد فك ضغطها وعلى الذاكرة في خدمات استيراد البيانات الآلية.

الأصول التاريخية والمحطات الرئيسية

1996حددت IETF مواصفة تنسيق Gzip في RFC 1952.
1993اعتمده مشروع GNU بديلًا لأداة Unix الاحتكارية compress التي تستخدم امتداد .Z.
1992أنشأ Jean-loup Gailly وMark Adler أداة Gzip خالية من براءات الاختراع لدعم حركة البرمجيات الحرة.

المزايا الرئيسية والإيجابيات

  • المعيار العالمي لضغط HTTP على الويب (Content-Encoding: gzip)، والمدعوم من جميع متصفحات الويب.
  • يحافظ الترويس المكوّن من 10 بايتات على الطوابع الزمنية لتعديل الملف الأصلي، ويمكن أن يتضمن اسمه الأصلي اختيارياً.
  • يستهلك قدراً قليلاً من موارد المعالج أثناء فك الضغط، ويعمل بسلاسة على الأجهزة المحمولة وأجهزة التوجيه منخفضة الطاقة.

القيود الفنية والسلبيات

  • يضغط ملفًا واحدًا فقط؛ ولضغط عدة ملفات أو مجلدات، يجب أولًا جمعها في حاوية TAR.
  • نسبة الضغط أقل من الخوارزميات الحديثة مثل Brotli وZstandard على نصوص الويب الحديثة.
  • حقل الحجم غير المضغوط في نهاية الملف عدد من 32 بت بترديد 2^32، ما قد يؤدي إلى أخطاء في عرض أحجام الملفات التي تتجاوز 4 غيغابايت.

معلومات تقنية طريفة

  • اختير التوقيع 0x1F 0x8B لأن 0x1F كان تاريخياً البايت الأول في ملفات Unix المضغوطة بأداة compress، بينما ميّز 0x8B ملفات Gzip.
  • يستخدم أكثر من 80% من مواقع الإنترنت ضغط Gzip لإرسال صفحات الويب إلى المتصفحات.
  • كتب Jean-loup Gailly شيفرة الضغط، وكتب Mark Adler شيفرة فك الضغط (inflate)؛ وحصل كلاهما على جائزة ACM للنظم البرمجية.

الأسئلة التقنية المتكررة

لماذا لا يمكنني ضغط مجلد باستخدام Gzip؟

صُمم Gzip لضغط تدفق بايتات واحد. لضغط مجلد، تجمعه أنظمة Unix أولًا في ملف .tar واحد، ثم تضغطه باستخدام Gzip لإنشاء ملف .tar.gz.

ما الفرق بين .gz و .zip؟

تنسيق .zip يجمع ملفات متعددة في أرشيف مع فهرس. أما .gz فيضغط ملفًا واحدًا فقط، وغالبًا ما يُستخدم مع tar في أنظمة Unix.

كيف يمكنني فك ضغط ملف .gz على نظام ويندوز أو ماك؟

استخدم File2File.app لفك ضغط ملفات .gz فورًا مباشرةً في متصفح الويب، دون تثبيت برامج.