สตรีม Brotli (.br)

IETF มาตรฐาน

Brotli คืออัลกอริทึมการบีบอัดข้อมูลแบบไม่สูญเสียข้อมูล (lossless) แบบโอเพนซอร์สที่พัฒนาโดย Google โดยได้รับการปรับแต่งเป็นพิเศษสำหรับการจัดการแบบอักษรบนเว็บ (WOFF2) และการเข้ารหัสเนื้อหา HTTP (Content-Encoding: br) เพื่อเร่งความเร็วในการส่งมอบหน้าเว็บอินเทอร์เน็ต

แปลง BROTLI เป็น GZIP

ตัวแปลงจาก BROTLI เป็น GZIP ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ

ตรวจสอบไฟล์และข้อมูลเมตา

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ Brotli โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

เลือกหรือวางไฟล์ที่นี่

เป็นส่วนตัว - ไฟล์จะไม่ออกจากอุปกรณ์ของคุณ

หรือวาง Ctrl+V
รับประกันความเป็นส่วนตัวโดยไม่มีการส่งข้อมูลผ่านเครือข่าย: อัปโหลด 0 ไบต์ไปยังเซิร์ฟเวอร์ภายนอก การประมวลผลทั้งหมดเกิดขึ้นภายในแซนด์บ็อกซ์ของเบราว์เซอร์ของคุณ

ลายเซ็นส่วนหัวระดับไบต์

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ Brotli โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

ลายเซ็น HEX (OFFSET 0):

CE B2 CF 81

การแสดงผลรูปแบบ ASCII: βÏ\x81

มาตรฐาน: IETF RFC 7932

ข้อมูลจำเพาะทางเทคนิค

สถาปัตยกรรมคอนเทนเนอร์การจัดกรอบบิตสตรีมดิบ พร้อมการระบุขนาดหน้าต่างและเมตาบล็อกที่เลือกใช้ได้
การบีบอัดพจนานุกรมเลื่อนแบบ LZ77 (สูงสุด 16 MB), การสร้างแบบจำลองบริบทอันดับสอง และพจนานุกรมคงที่ขนาด 120 KB
การจัดลำดับไบต์การจัดเรียงบิตแบบ Little-Endian
พื้นที่สีไม่เกี่ยวข้อง (สตรีมบีบอัดข้อมูล)
ช่องสัญญาณและโครงสร้างการบีบอัดสตรีมไบต์สำหรับการใช้งานทั่วไป
ขนาดสูงสุดความยาวสตรีมไบต์กำหนดได้ตามต้องการ (รองรับการสตรีมไม่จำกัด)
ความโปร่งใสรักษาข้อมูลไป-กลับได้ตรงทุกไบต์โดยไม่สูญเสียข้อมูล
การสตรีมและแบบโปรเกรสซีฟการแบ่งเป็นเมตาบล็อกช่วยให้สตรีม HTTP แบบแบ่งชังก์ได้อย่างต่อเนื่อง

ตารางเปรียบเทียบทางเทคนิค: Brotli กับคู่แข่ง

คุณลักษณะทางเทคนิคBrotli (ปัจจุบัน)GZZSTDDEFLATE
พจนานุกรมคงที่ในตัวรวมพจนานุกรมเว็บ 120 KBไม่มี (แบบไดนามิกเท่านั้น)พจนานุกรมที่ผู้ใช้ฝึกฝนได้ไม่มี (แบบไดนามิกเท่านั้น)
การบีบอัดเว็บ (เทียบกับ Gzip)เล็กกว่า Gzip 15% - 25%มาตรฐานพื้นฐาน (Gzip)เล็กกว่า Gzip 10% - 20%Deflate พื้นฐาน
การเข้ารหัสเนื้อหา HTTP'Content-Encoding: br''Content-Encoding: gzip''Content-Encoding: zstd''Content-Encoding: deflate'
เป้าหมายการออกแบบหลักการส่งข้อความเว็บและฟอนต์เว็บการบีบอัดไฟล์ Unix ทั่วไปฐานข้อมูลแบบเรียลไทม์และการนำเข้าข้อมูลอัลกอริทึมการบีบอัดพื้นฐาน

รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex

เบราว์เซอร์โหลดทรัพยากรไม่สำเร็จและแสดงข้อผิดพลาด 'ERR_CONTENT_DECODING_FAILED'

สาเหตุหลัก: พร็อกซีหรือเซิร์ฟเวอร์ตัดสตรีม Brotli ก่อนที่จะส่งเมตาบล็อกสุดท้าย

การกู้คืน: ล้างแคชของเบราว์เซอร์ ตรวจสอบการตั้งค่าการบีบอัดของเซิร์ฟเวอร์ หรือคลายการบีบอัดในเครื่องผ่าน File2File.app

การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์

พจนานุกรมคงที่และการสร้างแบบจำลองบริบทของ Brotli จำเป็นต้องมีการตรวจสอบขอบเขตหน่วยความจำอย่างเข้มงวดเพื่อป้องกันการอ้างอิงย้อนกลับที่ผิดรูปแบบ

เวกเตอร์การโจมตีที่ทราบ

  • การอ่านพอยน์เตอร์นอกขอบเขตเมื่ออ้างอิงออฟเซ็ตพจนานุกรมคงที่นอกเหนือจากขนาดตาราง
  • ระเบิดการคลายการบีบอัด (เทียบเท่ากับ zip bomb) ที่ทำให้หน่วยความจำไคลเอนต์หมดลงจากเพย์โหลดขนาดเล็ก
  • บัฟเฟอร์ล้นระหว่างการปรับขนาดบัฟเฟอร์ริงหน้าต่างเลื่อน

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: บังคับใช้ขนาดบัฟเฟอร์เอาต์พุตสูงสุดระหว่างการคลายการบีบอัดสตรีม Brotli ที่ไม่น่าเชื่อถือ

ประวัติความเป็นมาและเหตุการณ์สำคัญ

2016IETF เผยแพร่ Brotli เป็น RFC 7932.
2015Google นำ Brotli กลับมาใช้ใหม่เป็นทางเลือกในการบีบอัดเว็บ HTTP อเนกประสงค์แทน Gzip
2013วิศวกรของ Google Jyrki Alakuijala และ Zoltán Szabadka เปิดตัว Brotli สำหรับการบีบอัดฟอนต์เว็บ WOFF2

ข้อได้เปรียบและจุดเด่นสำคัญ

  • อัตราส่วนการบีบอัดดีกว่า Gzip 15% ถึง 25% บนแอสเซทเว็บ HTML, CSS และ JavaScript
  • รวมพจนานุกรมคงที่ขนาด 120 KB ที่กำหนดไว้ล่วงหน้าซึ่งประกอบด้วยคำที่ใช้ทั่วไปบนเว็บ แท็ก HTML และวลีต่างๆ
  • ความเร็วในการคลายการบีบอัดสูงมาก ช่วยให้การเรนเดอร์หน้าเว็บฝั่งไคลเอนต์เกือบจะทันที

ข้อจำกัดทางเทคนิคและข้อควรพิจารณา

  • การบีบอัดที่ระดับ 11 มีต้นทุนการประมวลผลสูง (เหมาะสมที่สุดสำหรับการบีบอัดแอสเซทคงที่ล่วงหน้า)
  • ต้องใช้ HTTPS ในเว็บเบราว์เซอร์ทั้งหมดเพื่อป้องกันความเสียหายจากพร็อกซีโปร่งใส
  • ไฟล์ .br ดิบไม่มีส่วนหัวชื่อไฟล์หรือสิทธิ์ที่ฝังอยู่โดยไม่มีการทำคอนเทนเนอร์ภายนอก

เกร็ดความรู้ทางเทคนิคที่น่าสนใจ

  • Brotli ตั้งชื่อตาม 'Brötli' ซึ่งแปลว่า 'ขนมปังชิ้นเล็ก' ในภาษาสวิสเยอรมัน
  • พจนานุกรมคงที่ขนาด 120 KB ภายใน Brotli มีตัวอย่างข้อความภาษาอังกฤษ สเปน เยอรมัน จีน และ HTML ที่ใช้ทั่วไปนับพันรายการ
  • Brotli รองรับโดยเว็บเซิร์ฟเวอร์และเบราว์เซอร์รายใหญ่ แต่สัดส่วนการใช้งานแตกต่างกันตามบริการและประเภทการตอบกลับ

คำถามทางเทคนิคที่พบบ่อย

ทำไม Brotli ถึงเร็วกว่า Gzip สำหรับเว็บไซต์?

Brotli บีบอัดไฟล์ HTML, CSS และ JS ให้มีขนาดเล็กกว่า Gzip ถึง 20% ในขณะที่คลายการบีบอัดด้วยความเร็วที่ใกล้เคียงกัน ซึ่งช่วยลดจำนวนรอบการรับส่งข้อมูล (roundtrips) ผ่านเครือข่ายมือถือ

เหตุใด Brotli จึงต้องใช้ HTTPS?

เว็บเบราว์เซอร์รองรับ Brotli ผ่านการเชื่อมต่อ HTTPS ที่ปลอดภัยเท่านั้น เนื่องจากการเข้ารหัสแบบโปร่งใสรุ่นเก่าบนอินเทอร์เน็ตอาจตีความผิดพลาดหรือทำให้การเข้ารหัส 'br' แบบใหม่เสียหายได้

ฉันจะคลายการบีบอัดไฟล์ .br ได้อย่างไร?

คุณสามารถคลายการบีบอัดไฟล์ .br หรือ .brotli เป็นข้อความธรรมดาหรือไฟล์ต้นฉบับได้ทันทีโดยใช้ File2File.app บนเว็บเบราว์เซอร์ของคุณโดยตรง