로우 DEFLATE (.deflate)

IETF 표준

DEFLATE는 컴퓨터 역사상 가장 보편적인 무손실 데이터 압축 알고리즘으로, 3주 동안 ZIP 아카이브, GZIP 스트림, PNG 이미지 및 HTTP 웹 압축을 구동해 왔습니다.

GZIP을(를) DEFLATE(으)로 변환

무료 브라우저 내 GZIP-DEFLATE 변환기. 기기에서 파일을 즉시 변환하세요.

검사 및 메타데이터

운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 DEFLATE 파일을 식별합니다:

여기에 파일을 선택하거나 놓으세요

100% 브라우저 내 프라이버시 변환 - 파일이 기기를 절대 떠나지 않습니다

또는 붙여넣기 Ctrl+V
제로 네트워크 전송 프라이버시 보장: 외부 서버로 업로드된 데이터 0바이트. 모든 처리는 브라우저 샌드박스내에서 로컬로 수행되었습니다.

바이트 단위 헤더 시그니처 (매직 바이트)

운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 DEFLATE 파일을 식별합니다:

16진수 시그니처 (오프셋 0):

78 9C / 78 01 / 78 DA

ASCII 표현: xœ / x. / xÚ

표준화: IETF RFC 1951 / RFC 1950 (zlib)

기술 사양

컨테이너 아키텍처Raw RFC 1951 bitstream or RFC 1950 zlib-wrapped stream with 2-byte header and Adler-32 checksum
압축LZ77 sliding dictionary (up to 32 KB window) combined with dynamic/static Huffman entropy coding
바이트 엔디안Little-Endian bit-packing order
색 공간N/A (Data Compression Stream)
채널 및 구조Raw binary or text data stream
최대 크기Unbounded stream length
투명도100% bit-exact lossless data reproduction
스트리밍 및 프로그레시브Block-based bitstream supports arbitrary continuous byte streaming

기술 비교 매트릭스: DEFLATE 대 경쟁사

기술적 속성DEFLATE (현재)GZBROTLIZSTD
표준화IETF RFC 1951 (Raw) / RFC 1950 (zlib)IETF RFC 1952 (Gzip)IETF RFC 7932 (Brotli)IETF RFC 8878 (Zstandard)
슬라이딩 윈도우최대 32 킬로바이트최대 32 킬로바이트최대 16 메가바이트최대 2 기가바이트
체크섬 모드Adler-32 (zlib 래퍼 내)CRC-32 (gzip 래퍼 내)내장 스트림 없음xxHash64 (64비트 빠른 해시)
일상적 사용PNG 이미지, PDF 스트림, ZIPUnix .tar.gz, HTTP gzip웹 폰트 (WOFF2), HTTP brLinux 커널, 데이터베이스, 게이밍

일반적인 손상 모드 및 헥스 복구 가이드

'Z_DATA_ERROR: incorrect data check' 오류와 함께 압축 해제에 실패합니다.

근본 원인: zlib으로 감싸진 스트림 끝에 있는 4바이트 Adler-32 체크섬의 불일치입니다.

복구: 원시 인플레이트(raw inflate)를 사용하여 Adler-32 검증을 우회하거나 File2File Deflate 복구로 수리합니다.

보안 분석 및 파서 공격 벡터

DEFLATE 파서 조작자는 범위를 벗어난 포인터 쓰기를 방지하기 위해 허프만 트리 구성 코드를 엄격하게 검증해야 합니다.

알려진 공격 벡터

  • 유효하지 않은 메모리 읽기를 유발하는 불완전하거나 초과 구독된 동적 허프만 트리 비트 길이 테이블.
  • 작은 페이로드를 수백 기가바이트의 RAM으로 확장하는 압축 해제 폭탄(zip bomb).
  • 검증되지 않은 슬라이딩 윈도우 거리 코드에서의 버퍼 오버읽기(Buffer over-read).

방어적 모범 사례:

역사적 배경 및 주요 이력

1996Peter Deutsch가 DEFLATE를 IETF RFC 1951로, zlib을 RFC 1950으로 공식화합니다.
1995Jean-loup Gailly와 Mark Adler가 DEFLATE용 범용 C 레퍼런스 라이브러리인 zlib을 출시합니다.
1991Phil Katz가 기존의 Implode 및 Reduce 알고리즘을 대체하기 위해 PKZIP 2.0용 DEFLATE를 발명합니다.

주요 장점

  • 하드웨어, 운영 체제 및 모든 프로그래밍 런타임에 구현된 명실상부한 글로벌 표준입니다.
  • 특허 및 로열티 없는 설계로 전체 컴퓨팅 산업에서 열린 접근을 보장합니다.
  • 최소한의 메모리 풋프린트로 빠른 압축 해제를 제공합니다(32 KB 슬라이딩 윈도우 메모리만 필요).

기술적 제한 사항 및 단점

  • 슬라이딩 윈도우가 32 KB로 제한되어 있어 거리가 먼 중복 항목이 있는 대용량 파일에서 압축 효율성이 떨어집니다.
  • Brotli 및 Zstandard와 같은 최신 알고리즘에 비해 현대 웹 자산에서의 압축률이 낮습니다.
  • 원시 DEFLATE 스트림은 zlib 또는 gzip 래퍼가 없으면 자체 설명 메타데이터나 컨테이너 프레임이 부족합니다.

흥미로운 기술적 상식

  • Phil Katz는 초기 PKARC 유틸리티에서 사용된 특허받은 LZW 알고리즘과 관련하여 Unisys로부터 소송을 당한 후 DEFLATE를 발명했습니다.
  • 표준 zlib 헤더 바이트 '78 9C'는 기본 압축을, '78 01'은 낮은 압축을, '78 DA'는 최대 압축을 나타냅니다.
  • 지상의 모든 PNG 이미지는 IDAT 픽셀 청크를 압축하기 위해 DEFLATE를 사용합니다.

자주 묻는 기술 질문

DEFLATE, zlib, gzip의 차이점은 무엇인가요?

DEFLATE는 원시 압축 알고리즘(RFC 1951)입니다. Zlib은 DEFLATE에 2바이트 헤더와 Adler-32 체크섬을 추가한 래퍼입니다(RFC 1950). Gzip은 DEFLATE에 파일 메타데이터와 CRC-32 체크섬을 추가한 래퍼입니다(RFC 1952).

PNG가 DEFLATE를 사용하는 이유는 무엇인가요?

PNG 형식은 특허받은 LZW 알고리즘을 사용하지 않고 GIF를 대체하기 위해 1995년에 만들어졌으며, 압축을 위해 개방형의 로열티 프리인 DEFLATE를 선택했습니다.

원시 .deflate 파일의 압축을 어떻게 해제할 수 있나요?

웹 브라우저에서 직접 File2File.app을 사용하여 원시 DEFLATE 또는 zlib 바이트 스트림을 원래의 압축 해제된 파일로 복원할 수 있습니다.