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

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
AcceptChrome Full support YesEdge Full support 12Firefox Full support Yes
Notes
Full support Yes
Notes
Notes In Firefox 66, the default Accept header value changed to */*.
IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support Yes
Notes
Full support Yes
Notes
Notes In Firefox 66, the default Accept header value changed to */*.
Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes

Legend

Full support  
Full support
See implementation notes.
See implementation notes.

Veja também