DEFLATE خام (.deflate)
IETF قياسيتُعد DEFLATE خوارزمية ضغط البيانات دون فقدان واسعة الاستخدام في تاريخ الحوسبة؛ فهي تُستخدم في أرشيفات ZIP وتدفقات GZIP وصور PNG وضغط الويب عبر HTTP منذ أكثر من ثلاثة عقود.
تحويل GZIP إلى DEFLATE
محول مجاني داخل المتصفح للتحويل من GZIP إلى DEFLATE. قم بتحويل الملفات فوراً على جهازك.
فحص البيانات الوصفية
تتعرف أنظمة التشغيل ومحللات الملفات على ملفات DEFLATE من خلال فحص تسلسل البايت الثنائي البادئ:
توقيع رأس الملف على مستوى البايت (Magic Bytes)
تتعرف أنظمة التشغيل ومحللات الملفات على ملفات DEFLATE من خلال فحص تسلسل البايت الثنائي البادئ:
التوقيع الست عشري (الإزاحة 0):
لا توجد بصمة ثابتة لتدفق DEFLATE الخام؛ وتبدأ التدفقات المغلفة بـ zlib ببايتات CMF/FLG متغيرةتمثيل ASCII: لا توجد بصمة ثابتة
التوحيد القياسي: IETF RFC 1951 / RFC 1950 (zlib)
المواصفات الفنية
| هيكلية الحاوية | تدفق بتات خام وفق RFC 1951 أو تدفق مغلّف بـ zlib وفق RFC 1950، مع ترويسة من بايتين ومجموع اختبار Adler-32 |
| الضغط | قاموس LZ77 بنافذة منزلقة تصل إلى 32 كيلوبايت، مع ترميز هوفمان ثابت أو ديناميكي للإنتروبيا |
| ترتيب البايتات (Endianness) | ترتيب حزم البتات الصغير |
| مساحات الألوان | لا ينطبق (تدفق ضغط بيانات) |
| القنوات والبنية | تدفق بيانات ثنائي أو نصي خام |
| الحد الأقصى للأبعاد | طول التدفق غير محدود |
| الشفافية | استعادة البيانات دون فقدان، مطابقة للبتات بنسبة 100% |
| البث والتحميل التدرجي | تدفق بتات قائم على كتل، يدعم نقلًا متصلًا للبايتات دون قيود على الطول |
مصفوفة المقارنة التقنية: DEFLATE مقابل المنافسين
| السمة التقنية | DEFLATE (الحالي) | GZ | BROTLI | ZSTD |
|---|---|---|---|---|
| التوحيد القياسي | IETF RFC 1951 (خام) / RFC 1950 (zlib) | IETF RFC 1952 (Gzip) | IETF RFC 7932 (Brotli) | IETF RFC 8878 (Zstandard) |
| النافذة المنزلقة | 32 كيلوبايت كحد أقصى | 32 كيلوبايت كحد أقصى | تصل إلى 16 ميجابايت | تصل إلى 2 جيجابايت |
| وضع المجموع الاختباري | Adler-32 (في حاوية zlib) | CRC-32 (في حاوية gzip) | لا يتضمن التدفق آلية مدمجة للتحقق | xxHash64 (تجزئة سريعة 64 بت) |
| الاستخدام اليومي | صور PNG، تدفقات PDF، ملفات ZIP | تار جاز Unix .tar.gz، بروتوكول HTTP gzip | خطوط الويب (WOFF2)، HTTP br | نواة لينكس، قواعد البيانات، الألعاب |
أنماط التلف الشائعة ودليل الاسترداد بالنظام الست عشري
يفشل فك الضغط وتظهر الرسالة: «Z_DATA_ERROR: فحص البيانات غير صحيح».
السبب الجذري: عدم تطابق قيمة المجموع الاختباري Adler-32، المؤلف من 4 بايتات، في نهاية التدفق المغلف بـ zlib.
الاسترداد: تجاوز التحقق من Adler-32 بفك التدفق الخام، أو إصلاحه باستخدام أداة Deflate Recovery في File2File.app.
تحليل الأمان ومتجهات الهجوم على المحلّل
ينبغي لمحللات DEFLATE التحقق بدقة من رموز إنشاء شجرة هوفمان لمنع الكتابة عبر المؤشرات خارج حدود الذاكرة.
ناقلات الهجوم المعروفة
- قد تؤدي جداول أطوال البتات غير المكتملة أو المتجاوزة للسعة في شجرة هوفمان الديناميكية إلى قراءات غير صالحة من الذاكرة.
- قنبلة فك الضغط (قنبلة ZIP) توسّع حمولة صغيرة إلى مئات الغيغابايت من الذاكرة.
- قراءة زائدة من المخزن المؤقت بسبب رموز مسافة غير متحقق منها في النافذة المنزلقة.
أفضل الممارسات الدفاعية: ضع حدًا أقصى لتخصيص الذاكرة ونسبة التوسّع أثناء فك الضغط.
الأصول التاريخية والمحطات الرئيسية
المزايا الرئيسية والإيجابيات
- معيار عالمي واسع الانتشار، تدعمه الأجهزة وأنظمة التشغيل وبيئات تشغيل البرامج.
- تصميم خالٍ من براءات الاختراع ورسوم الاستخدام، أتاحه لصناعة الحوسبة بأكملها.
- فك ضغط سريع مع استهلاك ضئيل للذاكرة (يتطلب نافذة انزلاقية بحجم 32 كيلوبايت فقط).
القيود الفنية والسلبيات
- نافذة منزلقة محدودة بـ 32 كيلوبايت، مما يقلل من فعالية الضغط على الملفات الكبيرة ذات التكرارات البعيدة.
- نسب ضغط أقل على أصول الويب الحديثة مقارنة بالخوارزميات الأحدث مثل Brotli وZstandard.
- لا تتضمن تدفقات DEFLATE الخام بيانات وصفية أو إطار حاوية يعرّفها بذاته، إلا عند تغليفها بـ zlib أو gzip.
معلومات تقنية طريفة
- ابتكر Phil Katz خوارزمية DEFLATE بعد أن قاضته Unisys بسبب استخدام خوارزمية LZW المحمية ببراءة اختراع في أدوات PKARC الأولى.
- تشير بايتات ترويسة zlib القياسية «78 9C» إلى الضغط الافتراضي، و«78 01» إلى ضغط منخفض، و«78 DA» إلى أقصى ضغط.
- تستخدم كل صورة PNG خوارزمية DEFLATE لضغط كتل البكسل IDAT.
الأسئلة التقنية المتكررة
ما الفرق بين DEFLATE و zlib و gzip؟
DEFLATE هي خوارزمية الضغط الخام (RFC 1951). وتغلّفها zlib بترويسة من بايتين ومجموع اختباري Adler-32 (RFC 1950)، بينما يضيف gzip بيانات وصفية للملف ومجموعًا اختباريًا CRC-32 (RFC 1952).
لماذا تستخدم صور PNG تقنية DEFLATE؟
أُنشئ تنسيق PNG عام 1995 ليحل محل GIF من دون استخدام خوارزمية LZW المحمية ببراءة اختراع؛ واختيرت DEFLATE المفتوحة والخالية من حقوق الملكية للضغط.
كيف يمكنني فك ضغط ملف .deflate خام؟
يمكنك فك ضغط تدفقات DEFLATE أو zlib الخام إلى ملفاتها الأصلية باستخدام File2File.app مباشرةً في متصفح الويب.
أزواج تحويل DEFLATE ذات الصلة
يؤدي تحويل تدفق GZIP إلى DEFLATE خام إلى إزالة غلاف الملف الخارجي والبيانات الوصفية للرأس، تاركاً الحمولة المضغوطة فقط لبروتوكولات الشبكة المتخصصة والأرشيفات منخفضة المستوى.
يغلّف تحويل تدفق DEFLATE الخام إلى تدفق GZIP الحمولة المضغوطة داخل حاوية قياسية ذات رؤوس بيانات وصفية، لتتمكن أنظمة التشغيل وأدوات الويب من قراءتها بشكل صحيح.