--- title: Accept-Encoding slug: Web/HTTP/Headers/Accept-Encoding translation_of: Web/HTTP/Headers/Accept-Encoding ---
{{HTTPSidebar}}

Accept-Encoding 요청 HTTP 헤더는, 보통 압축 알고리즘인, 클라이언트가 이해 가능한 컨텐츠 인코딩이 무엇인지를 알려줍니다. 컨텐츠 협상을 사용하여, 서버는 제안된 내용 중 하나를 선택하고 사용하며 {{HTTPHeader("Content-Encoding")}} 응답 헤더를 이용해 선택된 것을 클라이언트에게  알려줍니다.

클라이언트와 서버 모두 동일한 압축 알고리즘을 지원한다고 해도, 식별 값 또한 수용 가능하다면, 서버는 응답의 본문을 압축하지 않으려고 할 수 있습니다. 두 가지 일반적인 경우가 이런 일을 초래합니다:

부호화(encoding)되지 않았음을 의미하는, identity 값이 식별에 대한 다른 명시적인 설정 값 없이 identity;q=0 or a *;q=0에 의해 명시적으로 숨겨지지 않는 한, 서버는 {{HTTPStatus("406")}} Acceptable 오류를 회신해서는 결코 안됩니다.

Notes:
헤더 타입 {{Glossary("Request header")}}
{{Glossary("Forbidden header name")}} yes

문법

Accept-Encoding: gzip
Accept-Encoding: compress
Accept-Encoding: deflate
Accept-Encoding: br
Accept-Encoding: identity
Accept-Encoding: *

// Multiple algorithms, weighted with the {{Glossary("Quality Values", "quality value")}} syntax:
Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5

디렉티브

gzip
32비트 CRC와 함께 Lempel-Ziv coding (LZ77)를 사용하는 압축 포맷.
compress
Lempel-Ziv-Welch (LZW) 알고리즘을 사용하는 압축 포맷.
deflate
deflate 압축 알고리즘과 함께 zlib 구조를 사용하는 압축 포맷.
br
Brotli 알고리즘을 사용하는 압축 포맷.
identity
식별 함수(압축하지 않거나 수정하지 않은 경우)를 가리킵니다. 이 값은 존재하지 않은 경우에도 항상 수용 가능하다고 여겨집니다.
*
헤더 내에 아직 나열되지 않은 컨텐츠 인코딩이라도 일치됩니다. 헤더가 존재하지 않을 경우, 기본값이 됩니다. 그것이 모든 알고리즘이 지원된다는 것을 의미하지는 않습니다; 단지 표현된 선호 대상이 없다는 것을 의미합니다.
;q= (q값 가중치)
weight라고 부르는 상대적인 퀄리티 값을 사용하여 표현한 선호도에 따라 배치된 값입니다.

예제

Accept-Encoding: gzip

Accept-Encoding: gzip, compress, br

Accept-Encoding: br;q=1.0, gzip;q=0.8, *;q=0.1

명세

명세 제목
{{RFC("7231", "Accept-Encoding", "5.3.4")}} Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context

브라우저 호환성

{{Compat("http.headers.Accept-Encoding")}}

함께 참고할 내용