현재 번역은 완벽하지 않습니다. 한국어로 문서 번역에 동참해주세요.
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
서버는 어떤 압축 방법도 사용하도록 강요받지 않는다는 것을 알아두시기 바랍니다. 압축은 서버 설정과 사용되는 서버 모듈에 상당히 의존적입니다.
명세
명세 | 제목 |
---|---|
RFC 7231, section 3.1.2.2: Content-Encoding | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
https://www.ietf.org/id/draft-alakuijala-brotli | Brotli Compressed Data Format |
브라우저 호환성
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | Servo |
---|---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
br | 50 | No support | 44.0 | No support | 36.0 | No support | ? |
Feature | Android | Chrome for Android | Edge Mobile | Firefox for Android | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
br | 51 | 51 | No support | 44.0 | No support | No support | No support |