זרם Brotli (.brotli)
IETF תקןBrotli הוא אלגוריתם דחיסת נתונים ללא אובדן בקוד פתוח שפותח על ידי גוגל, המותאם במיוחד לטיפוגרפיה באינטרנט (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 |
|---|---|---|---|---|
| מילון סטטי מובנה | כלול מילון אינטרנט בגודל 120 קילו-בייט | ללא (דינמי בלבד) | מילונים הניתנים לאימון משתמש | ללא (דינמי בלבד) |
| דחיסת אינטרנט (לעומת Gzip) | קטן ב-15% - 25% מ-Gzip | תקן בסיס (Gzip) | קטן ב-10% - 20% מ-Gzip | Deflate בסיסי |
| קידוד תוכן HTTP | 'Content-Encoding: br' | 'Content-Encoding: gzip' | 'Content-Encoding: zstd' | 'Content-Encoding: deflate' |
| מטרת תכנון עיקרית | העברת טקסט אינטרנט וגופני אינטרנט | דחיסת קבצי Unix כללית | בסיס נתונים בזמן אמת והכנסת נתונים | אלגוריתם דחיסה בסיס |
מצבי שיחשות נפוצים ומדריך שחזור הקסדצימלי (Hex)
הדפדפן נכשל בטעינת משאב עם 'ERR_CONTENT_DECODING_FAILED'.
גורם שורש: פרוקסי או שרת קיצצו את זרם Brotli לפני שידור המטה-בלוק הסופי.
התאוששות: נקה את מטמון הדפדפן, בדוק את הגדרות דחיסת השרת, או פצח מקומית באמצעות File2File.
ניתוח אבטחה ווקטורי התקפה על מנתחים (Parsers)
מודל המילון הסטטי וההקשר של Brotli דורשים בדיקות גבול זיכרון קפדניות כנגד הפניות אחוריות מעוצבות.
ווקטורי תקיפה ידועים
- קריאת מצביע מחוץ לגבולות בעת הפניית היסטי מילון סטטי מעבר לגודל הטבלה.
- פצצת פענוח (שווה ערך לפצצת zip) המרוקנת את זיכרון הלקוח ממטענים זעירים.
- גלישת חוצץ במהלך שינוי גודל חוצץ טבעת חלון הזזה.
השיטות המומלצות להגנה:
היסטוריה ואבני דרך
יתרונות מרכזיים
- יחס דחיסה טוב ב-15% עד 25% מ-Gzip בנכסי אינטרנט כמו HTML, CSS ו-JavaScript.
- משלב מילון סטטי מוגדר מראש בגודל 120 קילו-בייט של מילים נפוצות באינטרנט, תגיות HTML וביטויים.
- מהירות פענוח מהירה במיוחד, המבטיחה עיבוד דפים בצד הלקוח כמעט מיידי.
מגבלות טכניות וחסרונות
- דחיסה ברמה 11 יקרה מבחינה חישובית (המתאימה ביותר לדחיסה מוקדמת של נכסים סטטיים).
- דורש HTTPS בכל דפדפני האינטרנט כדי למנוע השחתת פרוקסי שקוף.
- קבצי .br גולמיים חסרים שמות קבצים משובצים או כותרות הרשאות ללא הכלה חיצונית.
עובדות טכניות מעניינות
- Brotli נקרא על שם 'Brötli', שמשמעותו 'לחם קטן' בגרמנית שוויצרית.
- המילון הסטטי בגודל 120 קילו-בייט בתוך Brotli מכיל אלפי מקטעי אנגלית, ספרדית, גרמנית, סינית ו-HTML נפוצים.
- מעל 95% מתעבורת האינטרנט המודרנית ברחבי Cloudflare, Fastly וגוגל מועברת באמצעות דחיסת Brotli.
שאלות טכניות נפוצות
מדוע Brotli מהיר יותר מ-Gzip עבור אתרי אינטרנט?
Brotli דוחס קבצי HTML, CSS ו-JS לגודל הקטן ב-20% מ-Gzip תוך פיענוח במהירויות דומות, מה שמפחית את מספר סבבי התקשורת הנדרשים ברשתות סלולריות.
מדוע Brotli דורש HTTPS?
דפדפני אינטרנט תומכים ב-Brotli רק דרך חיבורי HTTPS מאובטחים, משום שפרוקסי שקופים ישנים ברترنت היו עלולים לפרש לא נכון או להשחית את קידוד ה-'br' החדש.
כיצד אוכל לפענח קובץ .br?
ניתן לפענח קבצי .br או .brotli לטקסט רגיל או לקבצים המקוריים באופן מיידי באמצעות File2File.app ישירות בדפדפן האינטרנט שלך.