Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
En-tête Accept
Baseline Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
L'en-tête de requête etde réponse HTTPAccept indique quels types de contenu, exprimés sous forme detypes MIME, l'émetteur·rice est capable de comprendre.Dans les requêtes, le serveur utilise lanégociation de contenu pour sélectionner l'une des propositions et informe le client du choix avec l'en-tête de réponseContent-Type.Dans les réponses, il fournit des informations sur les types de contenu que le serveur peut comprendre dans les messages vers la ressource demandée, afin que le type de contenu puisse être utilisé dans les requêtes ultérieures vers la ressource.
Les navigateurs définissent les valeurs requises pour cet en-tête en fonction du contexte de la requête.Par exemple, un navigateur utilise des valeurs différentes dans une requête lors de la récupération d'une feuille de style CSS, d'une image, d'une vidéo ou d'un script.
| Type d'en-tête | En-tête de requête |
|---|---|
| En-tête de requête interdit | Non |
| En-tête de requête sûr pour le CORS | Oui |
* Les valeurs ne peuvent pas contenir deoctets d'en-tête de requête non sûrs pour CORS(angl.), y compris"():<>?@[\]{},, supprimer0x7F, et les caractères de contrôle de0x00 à0x19, sauf la tabulation0x09.
Dans cet article
Syntaxe
Accept: <media-type>/<MIME_subtype>Accept: <media-type>/*Accept: */*// Multiple types, weighted with the quality value syntaxAccept: text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, */*;q=0.8Directives
<media-type>/<subtype>Un type MIME unique et déterminéMIME type, comme par exemple
text/html.<media-type>/*un type MIME type ne comprenant pas de sous-type.
image/*prendra en chargeimage/png,image/svg,image/gifet tous autres types d'image.*/*Tout type MIME
;q=(facteur de pondération q)N'importe quelle valeur utilisée est placée selon un ordre de préférence exprimé par unevaleur de qualité relative appelée lepoids.
Exemples
>Utilisation des en-têtesAccept par défaut
Les requêtes HTTP effectuées avec des outils en ligne de commande commecurl(angl.) etwget(angl.) utilisent*/* comme valeur par défaut pourAccept :
GET / HTTP/1.1Host: example.comUser-Agent: curl/8.7.1Accept: */*La navigation dans un navigateur utilise généralement la valeur d'en-tête de requêteAccept suivante :
GET /en-US/ HTTP/2Host: developer.mozilla.orgAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8…Après réception du document, les valeursAccept par défaut dans les requêtes pour les images sur l'exempledeveloper.mozilla.org ressemblent à ceci :
Accept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5Configuration des en-têtesAccept pour les réponses JSON
Les systèmes qui impliquent une interaction avec une API demandent couramment des réponsesapplication/json.Voici un exemple de requêteGET où le client demande spécifiquement une réponse JSON :
GET /users/123 HTTP/1.1Host: example.comAuthorization: Bearer abcd123Accept: application/jsonSpécifications
| Specification |
|---|
| HTTP Semantics> # field.accept> |
Compatibilité des navigateurs
Voir aussi
- Négociation de contenu HTTP
- Liste des valeurs Accept par défaut
- Restrictions sur les en-têtes de requête autorisés CORS
- En-tête avec le résultat de la négociation de contenu :
Content-Type - Autres en-têtes similaires :
TE,Accept-Encoding,Accept-Language