สตรีม Brotli (.brotli)

IETF มาตรฐาน

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

แปลง BROTLI เป็น GZIP

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

ตรวจสอบและดู Metadata

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

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

การแปลงไฟล์แบบส่วนตัว 100% ในเบราว์เซอร์ - ไฟล์จะไม่ rời ออกจากอุปกรณ์ของคุณ

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

ลายเซ็นส่วนหัวในระดับไบต์ (Magic Bytes)

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

ลายเซ็น HEX (OFFSET 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
การจัดลำดับไบต์ (Byte 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
พจนานุกรมคงที่ในตัวรวมพจนานุกรมเว็บ 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

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

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

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

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

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน:

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

2016IETF เผยแพร่ Brotli เป็น RFC 7932 ซึ่งนำไปสู่การยอมรับจากเว็บเบราว์เซอร์ HTTP ทั่วโลก
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 ทั่วไปนับพันรายการ
  • ทราฟฟิกอินเทอร์เน็ตสมัยใหม่กว่า 95% ทั่วทั้ง Cloudflare, Fastly และ Google ถูกส่งมอบโดยใช้การบีบอัด Brotli

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

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

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

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

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

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

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