Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.
Accept-Encoding
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julho de 2015.
* Some parts of this feature may have varying levels of support.
O cabeçalho de requisição HTTPAccept-Encoding indica qual codificação de conteúdo, usualmente um algoritmo de compressão, o cliente está apto a entender. Usandonegociação de conteúdo, o servidor seleciona uma das propostas, a utiliza e informa o cliente da escolha feita com o cabeçalho de respostaContent-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:
- Os dados a serem enviados já estão comprimidos e a segunda compressão não irá deixar os dados menores para serem transmitidos. Isso pode ser o caso com alguns formatos de imagens;
- O servidor está sobrecarregado e não pode suportar a sobrecarga computacional induzida pelas exigências da compressão. Tipicamente, a Microsoft recomenda a não comprimir um corpo de resposta se o servidor utiliza mais do que 80% do seu poder computacional.
Enquanto o valor deidentity, que significa sem codificação, não é explicitamente proibido, por umidentity;q=0 ou um*;q=0 sem qualquer outra atribuição explícita para a identidade, o servidor nunca deve mandar como resposta um erro406Not Acceptable.
Nota:
- Um registro da IANA mantéma lista completa das codificações de conteúdo.
- Duas outras codificações de conteúdo,
bzipebzip2, 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 | Request header |
|---|---|
| Forbidden header name | sim |
In this article
Sintaxe
Accept-Encoding: gzipAccept-Encoding: compressAccept-Encoding: deflateAccept-Encoding: brAccept-Encoding: identityAccept-Encoding: *// Múltiplos algoritmos, com pesos baseados na sintaxe dequality value:Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5
Diretivas
gzipFormato de compressão usando oLempel-Ziv coding (LZ77), com CRC de 32-bits.
compressFormato de compressão usando o algoritmoLempel-Ziv-Welch (LZW).
deflateFormato de compressão usando a estruturazlib, com o algoritmo de compressãodeflate.
brFormato de compressão usando o algoritmo deBrotli.
identityIndica a identidade da função (i.e. sem compressão, ou sem modificação). Esse valor é sempre considerado como aceitável, mesmo se não estiver presente.
*Aceita qualquer codificação de conteúdo ainda não listada no cabeçalho. Esse é o valor padrão se o cabeçalho não estiver presente. Isto não significa que qualquer algoritmo é suportado; meramente que nenhuma preferência é expressa.
;q=(valores de peso q)Qualquer valor é colocado em uma ordem de preferência expressada usando aquality value relativa chamadapeso.
Exemplos
Accept-Encoding: gzipAccept-Encoding: gzip, compress, brAccept-Encoding: br;q=1.0, gzip;q=0.8, *;q=0.1
Especificações
| Especificação | Título |
|---|---|
| RFC 7231, sessão 5.3.4: Accept-Encoding | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context |
Compatibilidade com navegadores
Veja também
- Negociação de conteúdo HTTP
- Cabeçalho com o resultado do conteúdo de negociação:
Content-Encoding - Outros cabeçalhos similares:
TE,Accept,Accept-Charset,Accept-Language