Content-Encoding
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Content-Encoding
개체 헤더는 미디어 타입을 압축하기 위해 사용됩니다. 이 헤더가 존재하면, 그 값은 개체 본문에 어떤 추가적인 컨텐츠 인코딩이 적용될지를 나타냅니다. 그것은 Content-Type
헤더에 의해 참조되는 미디어 타입을 얻도록 디코드하는 방법을 클라이언트가 알게 해줍니다.
가능한 더 많은 데이터를 압축하기 위해 이 필드의 사용이 권고되지만, jpeg 이미지와 같은 어떤 유형의 리소스들은 이미 압축되어 때때로 추가적인 압축이 별 소용이 없고 페이로드를 더 길게 만들수도 있습니다.
Header type | Entity header |
---|---|
Forbidden header name | no |
문법
Content-Encoding: gzip Content-Encoding: compress Content-Encoding: deflate Content-Encoding: identity Content-Encoding: br
디렉티브
gzip
-
32비트 CRC를 지닌, Lempel-Ziv coding (LZ77)을 사용하는 포맷. 이는 본래 UNIX gzip 프로그램의 포맷입니다. HTTP/1.1 표준 역시 이 컨텐츠 인코딩을 지원하는 서버는 호환성 목적으로,
x-gzip
별칭의 인지가 권고됩니다. compress
-
Lempel-Ziv-Welch (LZW) 알고리즘을 사용하는 포맷. 그 값의 이름은 이 알고리즘을 구현한 UNIX compress 프로그램으로부터 가져왔습니다. 대부분의 UNIX 배포판으로부터 사라져 왔던 압축 프로그램처럼, 이 content-encoding은 (2013년에 만료된)특허권 이슈로 오늘날의 브라우저에서 사용되지 않습니다.
deflate
-
(RFC 1951에 정의된) deflate 압축 알고리즘을 이용한, (RFC 1950에 정의된) zlib 스트럭쳐를 사용합니다.
identity
-
identity 함수를 나타냅니다(즉, 압축 없음 혹은 변경 없음). 이 토큰은, 명시적으로 지정된 경우를 제외하고, 항상 수용 가능하다고 여겨집니다.
br
-
Brotli 알고리즘을 사용하는 포맷.
예제
gzip을 이용해 압축하기
클라이언트 측에서, HTTP 요청 내에 함께 전송될 압축 스킴 목록을 알릴 수 있습니다. Accept-Encoding
헤더는 컨텐츠 인코딩 협상을 위해 사용됩니다.
Accept-Encoding: gzip, deflate
서버는 사용한 스킴을 Content-Encoding
응답 헤더에 표시하여 응답합니다.
Content-Encoding: gzip
서버는 어떤 압축 방법도 사용하도록 강요받지 않는다는 것을 알아두시기 바랍니다. 압축은 서버 설정과 사용되는 서버 모듈에 상당히 의존적입니다.
명세
Specification |
---|
HTTP Semantics # field.content-encoding |
브라우저 호환성
BCD tables only load in the browser