Brotli 스트림 (.brotli)
IETF 표준Brotli는 구글이 개발한 오픈 소스 무손실 데이터 압축 알고리즘으로, 인터넷 페이지 전송 속도를 높이기 위해 특히 웹 타이포그래피(WOFF2) 및 HTTP 콘텐츠 인코딩(Content-Encoding: br)에 최적화되어 있습니다.
BROTLI을(를) GZIP(으)로 변환
무료 브라우저 내 BROTLI-GZIP 변환기. 기기에서 파일을 즉시 변환하세요.
검사 및 메타데이터
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 Brotli 파일을 식별합니다:
바이트 단위 헤더 시그니처 (매직 바이트)
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 Brotli 파일을 식별합니다:
16진수 시그니처 (오프셋 0):
CE B2 CF 81ASCII 표현: βÏ\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 |
| 바이트 엔디안 | 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 |
|---|---|---|---|---|
| 내장된 정적 사전 | 120KB 웹 사전 포함 | 없음(동적 전용) | 사용자 학습 가능 사전 | 없음(동적 전용) |
| 웹 압축(Gzip 대비) | Gzip보다 15% ~ 25% 더 작음 | 기준 표준(Gzip) | Gzip보다 10% ~ 20% 더 작음 | 기본 Deflate |
| HTTP 콘텐츠 인코딩 | 'Content-Encoding: br' | 'Content-Encoding: gzip' | 'Content-Encoding: zstd' | 'Content-Encoding: deflate' |
| 주요 설계 목표 | 웹 텍스트 및 웹 폰트 전송 | 일반 유닉스 파일 압축 | 실시간 데이터베이스 및 데이터 수집 | 기초 압축 알고리즘 |
일반적인 손상 모드 및 헥스 복구 가이드
브라우저가 'ERR_CONTENT_DECODING_FAILED' 오류와 함께 리소스 로드에 실패합니다.
근본 원인: 프록시 또는 서버가 최종 메타 블록이 전송되기 전에 Brotli 스트림을 잘라냈습니다.
복구: 브라우저 캐시를 지우고, 서버 압축 설정을 확인하거나 File2File을 통해 로컬에서 압축을 해제하세요.
보안 분석 및 파서 공격 벡터
Brotli의 정적 사전 및 컨텍스트 모델링은 잘못된 형식의 역참조에 대한 엄격한 메모리 경계 검사가 필요합니다.
알려진 공격 벡터
- 테이블 크기를 초과하는 정적 사전 오프셋을 참조할 때 메모리 경계 초과 포인터 읽기
- 소형 페이로드로 클라이언트 메모리를 고갈시키는 압축 해제 폭탄(집 밥 동등물)
- 슬라이딩 윈도우 링 버퍼 크기 조정 중 버퍼 오버플로우
방어적 모범 사례:
역사적 배경 및 주요 이력
주요 장점
- HTML, CSS 및 JavaScript 웹 자산에서 Gzip보다 15% ~ 25% 더 나은 압축률을 제공합니다.
- 일반적인 웹 단어, HTML 태그 및 구문이 포함된 미리 정의된 120KB 정적 사전을 통합합니다.
- 매우 빠른 압축 해제 속도로 클라이언트 측 페이지 렌더링이 거의 즉각적으로 이루어집니다.
기술적 제한 사항 및 단점
- 레벨 11에서의 압축은 연산 집약적입니다(정적 자산 사전 압축에 가장 적합).
- 투명 프록시 손상을 방지하기 위해 모든 웹 브라우저에서 HTTPS가 필요합니다.
- 원시 .br 파일에는 외부 컨테이너화가 없으면 내장된 파일 이름이나 권한 헤더가 없습니다.
흥미로운 기술적 상식
- Brotli는 스위스 독일어로 '작은 빵'을 뜻하는 'Brötli'에서 이름을 따왔습니다.
- Brotli 내부의 120KB 정적 사전에는 수천 개의 일반적인 영어, 스페인어, 독일어, 중국어 및 HTML 스니펫이 포함되어 있습니다.
- Cloudflare, Fastly 및 Google의 전체 최신 인터넷 트래픽의 95% 이상이 Brotli 압축을 사용하여 전달됩니다.
자주 묻는 기술 질문
Brotli가 Gzip보다 웹사이트에 더 빠른 이유는 무엇인가요?
Brotli는 HTML, CSS, JS 파일을 Gzip보다 20% 더 작게 압축하는 동시에 비슷한 속도로 압축을 해제하므로, 셀룰러 네트워크에서 필요한 왕복(roundtrip) 횟수가 줄어듭니다.
Brotli에 HTTPS가 필요한 이유는 무엇인가요?
인터넷상의 레거시 투명 프록시가 새로운 'br' 인코딩을 오해석하거나 손상시킬 수 있기 때문에, 웹 브라우저는 보안이 적용된 HTTPS 연결에서만 Brotli를 지원합니다.
.br 파일의 압축을 어떻게 해제할 수 있나요?
웹 브라우저에서 바로 File2File.app을 사용하여 .br 또는 .brotli 파일의 압축을 일반 텍스트나 원본 파일로 즉시 해제할 수 있습니다.