جریان Brotli (.brotli)

IETF استاندارد

بروتلی یک الگوریتم فشرده‌سازی داده بدون افت متن‌باز است که توسط گوگل توسعه یافته است، به طور خاص برای تایپوگرافی وب (WOFF2) و رمزگذاری محتوای HTTP (Content-Encoding: br) برای سرعت بخشیدن به تحویل صفحه اینترنت بهینه شده است.

تبدیل BROTLI به GZIP

مبدل رایگان BROTLI به GZIP درون مرورگر. فایل‌ها را فورا روی دستگاه خود تبدیل کنید.

بررسی و فراداده

سیستم‌عامل‌ها و تحلیلگرهای فایل، فایل‌های Brotli را با بررسی توالی بایت‌های دودویی ابتدایی شناسایی می‌کنند:

انتخاب یا رها کردن فایل‌ها در اینجا

تبدیل ۱۰۰٪ خصوصی در مرورگر - فایل‌ها هرگز دستگاه شما را ترک نمی‌کنند

یا جای‌گذاری کنید Ctrl+V
تضمین حریم خصوصی بدون انتقال شبکه: صفر بایت به سرورهای خارجی آپلود می‌شود. تمام پردازش‌ها به صورت محلی در سندباکس مرورگر شما انجام شد.

امضای هدر در سطح بایت (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 (فعلی)GZZSTDDEFLATE
دیکشنری ثابت داخلیدیکشنری وب ۱۲۰ کیلوبایتی گنجانده شده استهیچ‌کدام (فقط پویا)دیکشنری‌های قابل آموزش توسط کاربرهیچ‌کدام (فقط پویا)
فشرده‌سازی وب (در مقایسه با Gzip)۱۵٪ - ۲۵٪ کوچکتر از Gzipاستاندارد پایه (Gzip)۱۰٪ - ۲۰٪ کوچکتر از GzipDeflate پایه
رمزگذاری محتوای HTTP'Content-Encoding: br''Content-Encoding: gzip''Content-Encoding: zstd''Content-Encoding: deflate'
هدف اصلی طراحیانتقال متن وب و فونت وبفشرده‌سازی فایل عمومی یونیکسپایگاه داده بلادرنگ و تزریق دادهالگوریتم فشرده‌سازی بنیادی

حالت‌های رایج خرابی و راهنمای بازیابی هگز

مرورگر در بارگذاری منبع با خطای 'ERR_CONTENT_DECODING_FAILED' با شکست مواجه می‌شود.

علت ریشه‌ای: پروکسی یا سرور جریان Brotli را قبل از انتقال آخرین فرابلوک قطع کرد.

بازیابی: پاک کردن کش مرورگر، بررسی تنظیمات فشرده‌سازی سرور، یا خارج کردن از حالت فشرده به صورت محلی از طریق File2File.

تحلیل امنیتی و بردارهای حمله تجزیه‌کننده (Parser)

دیکشنری ثابت و مدل‌سازی زمینه بروتلی نیازمند بررسی‌های دقیق مرز حافظه در برابر ارجاعات به عقب بد شکل است.

بردارهای حمله شناخته‌شده

  • خواندن اشاره‌گر خارج از محدوده هنگام ارجاع به آفست‌های دیکشنری ثابت فراتر از اندازه جدول.
  • بمب فشرده‌سازی (معادل بمب زیپ) که حافظه کلاینت را از بارهای کوچک تخلیه می‌کند.
  • سرریز بافر در حین تغییر اندازه بافر حلقوی پنجره لغزان.

بهترین روش‌های پدافندی:

تاریخچه و نقاط عطف

2016IETF بروتلی را به عنوان RFC 7932 منتشر کرد که منجر به پذیرش جهانی مرورگر وب HTTP شد.
2015گوگل بروتلی را به عنوان یک جایگزین فشرده‌سازی وب HTTP عمومی برای Gzip تغییر کاربری داد.
2013مهندسان گوگل، جیرکی آلاکویجالا و زولتان سابادکا، بروتلی را برای فشرده‌سازی فونت وب WOFF2 معرفی کردند.

مزایا و نقاط قوت کلیدی

  • نسبت فشرده‌سازی ۱۵ تا ۲۵ درصد بهتر از 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 مستقیماً در مرورگر وب خود فوراً به متن ساده یا فایل‌های اصلی تبدیل کنید.