Accept

O cabeçalho de requisição HTTP Accept anuncia quais tipos de conteúdo, expressos como MIME types, o cliente é capaz de entender. Usando negociação de conteúdo, o servidor então seleciona uma das propostas, a usa e então informa o cliente da sua escolha com o cabeçalho de resposta Content-Type. Navegadores colocam valores adequados para este cabeçalho dependendo do contexto onde a requisição é feita: quando buscando um CSS stylesheet, um valor diferente é colocado para a requisição, o mesmo acontece com imagens, vídeos ou scripts.

Tipo de cabeçalho Request header
Forbidden header name não
CORS-safelisted request header sim, com a restrição adicional de que valores não podem conter um byte de requisição de cabeçalho CORS inseguro: "():<>?@[\]{}, Delete, Tab e outros caracteres de controle: 0x00 à 0x19.

Sintaxe

Accept: <MIME_type>/<MIME_subtype>
Accept: <MIME_type>/*
Accept: */*

// Múltiplos tipos, com pesos devido à sintaxe quality value:
Accept: text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, */*;q=0.8

Diretivas

<MIME_type>/<MIME_subtype>
Um único e preciso MIME type, como por exemplo: text/html.
<MIME_type>/*
Um MIME type, mas com qualquer subtipo. image/* vai coincidir com image/png, image/svg, image/gif e outros tipos de imagens.
*/*
Qualquer MIME type.
;q= (fator de q de peso [q-factor])
Qualquer valor usado é colocado em uma ordem de preferência expressada usando o quality value relativo chamado peso.

Exemplos

Accept: text/html

Accept: image/*

// Padrão geral
Accept: */*

// Padrão para requisições de navegação
Accept: text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8

Especificações

Especificação Título
RFC 7231, sessão 5.3.2: Accept Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context

Compatibilidade de navegador

BCD tables only load in the browser

Veja também