جریان Brotli (.brotli)
IETF استانداردبروتلی یک الگوریتم فشردهسازی داده بدون افت متنباز است که توسط گوگل توسعه یافته است، به طور خاص برای تایپوگرافی وب (WOFF2) و رمزگذاری محتوای HTTP (Content-Encoding: br) برای سرعت بخشیدن به تحویل صفحه اینترنت بهینه شده است.
تبدیل BROTLI به GZIP
مبدل رایگان BROTLI به GZIP درون مرورگر. فایلها را فورا روی دستگاه خود تبدیل کنید.
بررسی و فراداده
سیستمعاملها و تحلیلگرهای فایل، فایلهای Brotli را با بررسی توالی بایتهای دودویی ابتدایی شناسایی میکنند:
امضای هدر در سطح بایت (Magic Bytes)
سیستمعاملها و تحلیلگرهای فایل، فایلهای Brotli را با بررسی توالی بایتهای دودویی ابتدایی شناسایی میکنند:
امضای HEX (آفست 0):
CE B2 CF 81نمایش ASCII: βÏ\x81
استانداردسازی: IETF RFC 7932
مشخصات فنی
| معماری کانتینر | Raw bitstream framing with optional window size declaration and meta-blocks |
| فشردهسازی | LZ77 sliding dictionary (up to 16 MB), second-order context modeling, and static 120 KB dictionary |
| ترتیب بایتها (Endianness) | Little-Endian bit-packing |
| فضاهای رنگی | N/A (Data Compression Stream) |
| کانالها و ساختار | General-purpose byte stream compression |
| حداکثر ابعاد | Arbitrary byte stream length (supports unbounded streaming) |
| شفافیت مشخصات | Lossless byte-for-byte exact roundtrip data preservation |
| استریمینگ و پیشرونده | Meta-block chunking allows continuous HTTP chunked transfer streaming |
ماتریس مقایسه فنی: Brotli در برابر رقبا
| ویژگی فنی | Brotli (فعلی) | GZ | ZSTD | DEFLATE |
|---|---|---|---|---|
| دیکشنری ثابت داخلی | دیکشنری وب ۱۲۰ کیلوبایتی گنجانده شده است | هیچکدام (فقط پویا) | دیکشنریهای قابل آموزش توسط کاربر | هیچکدام (فقط پویا) |
| فشردهسازی وب (در مقایسه با Gzip) | ۱۵٪ - ۲۵٪ کوچکتر از Gzip | استاندارد پایه (Gzip) | ۱۰٪ - ۲۰٪ کوچکتر از Gzip | Deflate پایه |
| رمزگذاری محتوای HTTP | 'Content-Encoding: br' | 'Content-Encoding: gzip' | 'Content-Encoding: zstd' | 'Content-Encoding: deflate' |
| هدف اصلی طراحی | انتقال متن وب و فونت وب | فشردهسازی فایل عمومی یونیکس | پایگاه داده بلادرنگ و تزریق داده | الگوریتم فشردهسازی بنیادی |
حالتهای رایج خرابی و راهنمای بازیابی هگز
مرورگر در بارگذاری منبع با خطای 'ERR_CONTENT_DECODING_FAILED' با شکست مواجه میشود.
علت ریشهای: پروکسی یا سرور جریان Brotli را قبل از انتقال آخرین فرابلوک قطع کرد.
بازیابی: پاک کردن کش مرورگر، بررسی تنظیمات فشردهسازی سرور، یا خارج کردن از حالت فشرده به صورت محلی از طریق File2File.
تحلیل امنیتی و بردارهای حمله تجزیهکننده (Parser)
دیکشنری ثابت و مدلسازی زمینه بروتلی نیازمند بررسیهای دقیق مرز حافظه در برابر ارجاعات به عقب بد شکل است.
بردارهای حمله شناختهشده
- خواندن اشارهگر خارج از محدوده هنگام ارجاع به آفستهای دیکشنری ثابت فراتر از اندازه جدول.
- بمب فشردهسازی (معادل بمب زیپ) که حافظه کلاینت را از بارهای کوچک تخلیه میکند.
- سرریز بافر در حین تغییر اندازه بافر حلقوی پنجره لغزان.
بهترین روشهای پدافندی:
تاریخچه و نقاط عطف
مزایا و نقاط قوت کلیدی
- نسبت فشردهسازی ۱۵ تا ۲۵ درصد بهتر از Gzip روی داراییهای وب HTML، CSS و JavaScript.
- شامل یک دیکشنری ثابت ۱۲۰ کیلوبایتی از پیش تعریف شده از کلمات رایج وب، برچسبهای HTML و عبارتها است.
- سرعت خارجسازی از حالت فشرده بسیار بالا، که رندر کردن صفحه در سمت کلاینت را تقریباً آنی تضمین میکند.
محدودیتها و معایب فنی
- فشردهسازی در سطح ۱۱ از نظر محاسباتی سنگین است (بهترین مناسب برای پیشفشردهسازی داراییهای ایستا).
- برای جلوگیری از خرابی پروکسی شفاف، در تمام مرورگرهای وب نیاز به HTTPS دارد.
- فایلهای خام .br فاقد نام فایل تعبیهشده یا هدرهای مجوز بدون کانتینرسازی خارجی هستند.
نکات فنی جالب
- بروتلی از نام 'Brötli' گرفته شده است که در آلمانی سوئیسی به معنای 'نان کوچک' است.
- دیکشنری ثابت ۱۲۰ کیلوبایتی درون بروتلی شامل هزاران قطعه متداول انگلیسی، اسپانیایی، آلمانی، چینی و HTML است.
- بیش از ۹۵ درصد از ترافیک مدرن اینترنت در سراسر Cloudflare، Fastly و Google با استفاده از فشردهسازی Brotli تحویل داده میشود.
سوالات فنی متداول
چرا بروتلی (Brotli) برای وبسایتها سریعتر از گیزیپ (Gzip) است؟
بروتلی فایلهای HTML، CSS و JS را ۲۰ درصد کوچکتر از گیزیپ فشرده میکند در حالی که با سرعتهای مشابهی کار فشردهزدایی را انجام میدهد، و این امر تعداد رفتوبرگشتهای لازم در شبکههای تلفن همراه را کاهش میدهد.
چرا بروتلی به پروتکل HTTPS نیاز دارد؟
مرورگرهای وب تنها از طریق اتصالات امن HTTPS از بروتلی پشتیبانی میکنند، زیرا پروکسیهای شفاف قدیمی در اینترنت ممکن است انکودینگ جدید 'br' را به اشتباه تفسیر یا خراب کنند.
چگونه میتوانم یک فایل با پسوند .br را از حالت فشرده خارج کنم؟
میتوانید فایلهای .br یا .brotli را با استفاده از File2File.app مستقیماً در مرورگر وب خود فوراً به متن ساده یا فایلهای اصلی تبدیل کنید.