압축 파일
Brotli 파일이란?
Brotli(.br)는 LZ77 계열 참조와 Huffman 코딩을 사용하는 무손실 압축 데이터 형식입니다. HTTP 콘텐츠 코딩 토큰 br로도 사용되며, 클라이언트가 지원하면 서버가 사전 압축 파일을 제공할 수 있습니다. 이 스트림은 아카이브가 아니며 원래 크기나 체크섬 같은 메타데이터를 반드시 포함하지 않습니다.
.br무손실 압축 스트림
이 형식을 선택할 때
- 서버와 클라이언트가 Brotli를 지원하는 경우 웹 텍스트 사전 압축
- Brotli 지원 도구 간 압축 데이터 교환
이 형식을 피할 때
- 단독으로 여러 파일 아카이브
- 스트림에 체크섬이나 원래 크기가 반드시 있다고 가정
주요 용도
- 무손실 압축 스트림 저장
- 호환되는 HTTP 전송을 위한 콘텐츠 압축
특징
- RFC 7932에서 정의한 압축 데이터 형식
- 무손실 스트림을 인코딩 및 디코딩
- HTTP Content-Encoding: br로 사용 가능
장점과 단점
장점
- 일부 작업에서 웹 텍스트를 효율적으로 압축할 수 있음
- 구현에 따라 여러 압축 품질 단계 선택 가능
- 클라이언트 지원 시 전송량 절감 가능
단점
- 설정에 따라 인코딩 시간이 오래 걸릴 수 있음
- .br 스트림만으로 여러 파일을 아카이브할 수 없음
- 원시 스트림에 원래 크기나 무결성 메타데이터가 없을 수 있음
열기 및 변환
여는 방법
Brotli 지원 압축 해제 도구나 라이브러리를 사용하세요. 사전 압축 파일을 웹으로 제공할 때 호환 요청에 Content-Encoding: br을 보내고 파일명, 미디어 유형, 캐시 설정을 확인하세요.
변환 방법
gzip이나 zstd로 바꾸려면 압축 해제 후 다시 압축합니다. 체크섬이나 내용 비교로 결과를 검증하고 크기, 인코딩 시간, 수신 측 지원을 측정하세요. .br 확장자만으로 HTTP 헤더나 내용을 판단하지 마세요.
주의 사항
- 압축은 암호화, 신뢰성 또는 악성 코드 방지를 제공하지 않습니다.
- 일부 원시 스트림 API에는 원래 크기나 체크섬이 없으므로 무결성 정보가 필요하면 외부 형식을 사용하세요.
- 원본을 보관하고 압축 해제 전에 확대 후 크기를 고려하세요.
자주 묻는 질문
.br 파일과 HTTP br은 같은 것인가요?
관련은 있지만 같은 개념은 아닙니다. .br은 압축 데이터 파일 확장자이고 HTTP br은 Content-Encoding의 콘텐츠 코딩 토큰입니다.
Brotli는 여러 파일을 묶나요?
아니요. 압축 스트림이지 아카이브가 아닙니다. 파일 묶음에는 tar 같은 별도 형식을 사용하세요.