تدفق Brotli (.br)

IETF قياسي

Brotli خوارزمية مفتوحة المصدر لضغط البيانات دون فقدان، طورتها Google وحُسّنت خصيصًا لضغط خطوط الويب (WOFF2) وترميز محتوى HTTP (Content-Encoding: br) لتسريع تحميل صفحات الإنترنت.

تحويل BROTLI إلى GZIP

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

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

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

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

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

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

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

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

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

CE B2 CF 81

تمثيل ASCII: βÏ\x81

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

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

هيكلية الحاويةتأطير تدفق بتات خام مع إعلان اختياري لحجم النافذة وكتل البيانات الوصفية
الضغطقاموس انزلاقي LZ77 (حتى 16 MB)، ونمذجة سياق من الرتبة الثانية، وقاموس ثابت بحجم 120 KB
ترتيب البايتات (Endianness)تعبئة بتات بترتيب Little-Endian
مساحات الألوانN/A (Data Compression Stream)
القنوات والبنيةضغط تدفق بايتات للأغراض العامة
الحد الأقصى للأبعادطول تدفق بايتات غير محدد (يدعم البث غير المحدود)
الشفافيةحفظ البيانات دون فقد، مع تطابق تام بايتًا ببايت عند فك الضغط
البث والتحميل التدرجييتيح تقسيم كتل البيانات الوصفية النقل المتواصل بالبث المجزأ عبر HTTP

مصفوفة المقارنة التقنية: Brotli مقابل المنافسين

السمة التقنيةBrotli (الحالي)GZZSTDDEFLATE
القاموس الثابت المدمجيحتوي على قاموس ويب بحجم 120 كيلوبايتلا يوجد (ديناميكي فقط)قواميس يمكن للمستخدم تدريبهالا يوجد (ديناميكي فقط)
ضغط الويب (مقابل Gzip)حجم أصغر بنسبة 15% إلى 25% مقارنةً بـ Gzipالمعيار الأساسي (Gzip)حجم أصغر بنسبة 10% إلى 20% مقارنةً بـ Gzipمعيار Deflate الأساسي
ترميز محتوى HTTP'Content-Encoding: br''Content-Encoding: gzip''Content-Encoding: zstd''Content-Encoding: deflate'
هدف التصميم الأساسينقل نصوص الويب وخطوطهضغط الملفات للأغراض العامة في Unixقواعد البيانات في الوقت الفعلي واستيعاب البياناتخوارزمية ضغط أساسية

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

يفشل المتصفح في تحميل المورد مع ظهور خطأ 'ERR_CONTENT_DECODING_FAILED'.

السبب الجذري: قام الوكيل (Proxy) أو الخادم بتر دفق Brotli قبل إرسال الكتلة الوصفية (Meta-block) النهائية.

الاسترداد: امسح ذاكرة التخزين المؤقت للمتصفح، وتحقق من إعدادات ضغط الخادم، أو فك الضغط محليًا عبر File2File.app.

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

يتطلب القاموس الثابت ونمذجة السياق في Brotli فحوصًا صارمة لحدود الذاكرة للتحقق من المراجع الخلفية المشوهة.

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

  • قراءة مؤشر خارج الحدود عند الإشارة إلى إزاحات القاموس الثابت التي تتجاوز حجم الجدول.
  • قنبلة فك ضغط، أي ما يعادل قنبلة ZIP، تستنفد ذاكرة العميل انطلاقًا من حمولة صغيرة.
  • تجاوز سعة المخزن المؤقت أثناء تغيير حجم مخزن الحلقة لنافذة الانزلاق (Sliding window ring buffer).

أفضل الممارسات الدفاعية: افرض حدًا أقصى لحجم مخزن الإخراج المؤقت أثناء فك ضغط تدفقات Brotli غير الموثوقة.

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

2016تنشر منظمة IETF معيار RFC 7932.
2015تعيد Google توظيف Brotli كبديل عام لضغط الويب عبر HTTP بدلاً من Gzip.
2013مهندسا Google جيركي ألاكويجالا (Jyrki Alakuijala) وزولتان سزابادكا (Zoltán Szabadka) يطرحان بروتلي لضغط خطوط الويب WOFF2.

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

  • نسبة ضغط أفضل من Gzip بمقدار 15% إلى 25% لملفات الويب مثل HTML وCSS وJavaScript.
  • تتضمن قاموسًا ثابتًا محددًا مسبقًا بحجم 120 كيلوبايت، يضم كلمات شائعة على الويب وعلامات HTML وعبارات متداولة.
  • سرعة فائقة للغاية في فك الضغط، مما يضمن عرض صفحات الويب للمستخدم بشكل شبه فوري.

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

  • الضغط في المستوى 11 مكلف حسابياً (وهو مناسب أكثر للضغط المسبق للأصول الثابتة).
  • يتطلب استخدام HTTPS في جميع متصفحات الويب لمنع تلف البيانات بسبب الوكلاء الشفافين.
  • ملفات .br الخام تفتقر إلى اسم ملف مدمج أو ترويسات الصلاحيات ما لم تُضمَّن في حاوية خارجية.

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

  • سُمّيت Brotli نسبةً إلى كلمة 'Brötli'، التي تعني 'خبزًا صغيرًا' بالألمانية السويسرية.
  • القاموس الثابت بحجم 120 كيلوبايت داخل Brotli يحتوي على آلاف المقاطع الشائعة باللغات الإنجليزية، والإسبانية، والألمانية، والصينية، ومقتطفات HTML.
  • يدعم Brotli خوادم ويب ومتصفحات رئيسية، لكن حصة استخدامه تختلف حسب الخدمة ونوع الاستجابة.

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

لماذا يُعد Brotli أسرع من Gzip لمواقع الويب؟

يضغط Brotli ملفات HTML وCSS وJS لتصبح أصغر بنسبة 20% مقارنةً بملفات Gzip، مع سرعة فك ضغط مماثلة، ما يقلل عدد مرات تبادل البيانات المطلوبة عبر شبكات الهاتف المحمول.

لماذا يتطلب Brotli بروتوكول HTTPS؟

لا تدعم متصفحات الويب Brotli إلا عبر اتصالات HTTPS الآمنة، لأن الوكلاء الشفافين القديمة على الإنترنت قد تسيء تفسير ترميز 'br' الجديد أو تفسده.

كيف يمكنني فك ضغط ملف .br؟

يمكنك فك ضغط ملفات .br أو .brotli فورًا إلى نص عادي أو إلى الملفات الأصلية باستخدام File2File.app مباشرةً في المتصفح.