--- title: Accept-Encoding slug: Web/HTTP/Headers/Accept-Encoding tags: - Cabeçalho HTTP - Cabeçalho de requisição - Content Negotiation - HTTP - HTTP Header - Negociação de conteúdo - Reference - Referencia - Request header translation_of: Web/HTTP/Headers/Accept-Encoding ---
O cabeçalho de requisição HTTP Accept-Encoding indica qual codificação de conteúdo, usualmente um algoritmo de compressão, o cliente está apto a entender. Usando negociação de conteúdo, o servidor seleciona uma das propostas, a utiliza e informa o cliente da escolha feita com o cabeçalho de resposta {{HTTPHeader("Content-Encoding")}}.
Até mesmo se o cliente e o servidor suportarem os mesmos algoritmos de compressão, o servidor pode escolher não comprimir o corpo da resposta, se o valor de identidade também é aceitável. Dois casos comuns levam a isso:
Enquanto o valor de identity, que significa sem codificação, não é explicitamente proibido, por um identity;q=0 ou um *;q=0 sem qualquer outra atribuição explícita para a identidade, o servidor nunca deve mandar como resposta um erro {{HTTPStatus("406")}} Not Acceptable.
Um registro da IANA mantém a lista completa das codificações de conteúdo.
bzip e bzip2, são algumas vezes utilizadas, entretanto não são o padrão. Elas implementam o algoritmo usado por estes dois programas UNIX. Note que o primeiro foi descontinuado por problemas de patente.| Tipo de cabeçalho | {{Glossary("Request header")}} |
|---|---|
| {{Glossary("Forbidden header name")}} | sim |
Accept-Encoding: gzip
Accept-Encoding: compress
Accept-Encoding: deflate
Accept-Encoding: br
Accept-Encoding: identity
Accept-Encoding: *
// Múltiplos algoritmos, com pesos baseados na sintaxe de {{Glossary("Quality Values", "quality value")}}:
Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5
gzipcompressdeflatebridentity*;q= (valores de peso q)Accept-Encoding: gzip Accept-Encoding: gzip, compress, br Accept-Encoding: br;q=1.0, gzip;q=0.8, *;q=0.1
| Especificação | Título |
|---|---|
| {{RFC("7231", "Accept-Encoding", "5.3.4")}} | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context |
{{Compat("http.headers.Accept-Encoding")}}