aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/http/headers/accept-charset/index.md
blob: e832f5b513a3c21cd1530c3d2dfd0d5b46b6945b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
---
title: Accept-Charset
slug: Web/HTTP/Headers/Accept-Charset
translation_of: Web/HTTP/Headers/Accept-Charset
---
<div>{{HTTPSidebar}}</div>

<p>L'en-tête HTTP de la requête<strong><code>Accept-Charset</code></strong> indique le jeu de caractères que le client est capable de comprendre. À l'aide de la  <a href="/en-US/docs/Web/HTTP/Content_negotiation">content negotiation</a>, le serveur sélectionne l'une des propositions, l'utilise et informe le client de son choix dans l'en-tête de réponse {{HTTPHeader ("Content-Type")}}. Les navigateurs ne définissent généralement pas cet en-tête car la valeur par défaut de chaque type de contenu est généralement correcte et sa transmission permettrait une empreinte digitale plus facile.</p>

<p>Si le serveur ne peut servir aucun jeu de caractères correspondant, il peut théoriquement renvoyer un code d'erreur {{HTTPStatus ("406")}} (non acceptable). Cependant, pour une meilleure expérience utilisateur, cela est rarement fait et le moyen le plus courant consiste à ignorer l'en-tête <code>Accept-Charset</code> dans ce cas.</p>

<div class="note">
<p><strong>Note :</strong> Dans les premières versions de HTTP / 1.1, un jeu de caractères par défaut (ISO-8859-1) était défini. Ce n'est plus le cas et maintenant chaque type de contenu peut avoir sa propre valeur par défaut.</p>
</div>

<table class="properties">
 <tbody>
  <tr>
   <th scope="row">Header type</th>
   <td>{{Glossary("Request header")}}</td>
  </tr>
  <tr>
   <th scope="row">{{Glossary("Forbidden header name")}}</th>
   <td>yes</td>
  </tr>
 </tbody>
</table>

<h2 id="Syntax">Syntax</h2>

<pre class="syntaxbox">Accept-Charset: &lt;charset&gt;

// Multiple types, weighted with the {{glossary("quality values", "quality value")}} syntax:
Accept-Charset: utf-8, iso-8859-1;q=0.5</pre>

<h2 id="Les_directives">Les directives</h2>

<dl>
 <dt><code>&lt;charset&gt;</code></dt>
 <dd>Un jeu de caractères comme utf-8 ou iso-8859-15.</dd>
 <dt><code>*</code></dt>
 <dd>Tout jeu de caractères non mentionné ailleurs dans l'en-tête; '*' utilisé comme un joker.</dd>
 <dt><code>;q=</code> (q-factor weighting)</dt>
 <dd>Toute valeur est placée dans un ordre de préférence exprimé à l'aide d'une valeur de qualité relative appelée  <em>weight</em>.</dd>
</dl>

<h2 id="Examples">Examples</h2>

<pre>Accept-Charset: iso-8859-1

Accept-Charset: utf-8, iso-8859-1;q=0.5

Accept-Charset: utf-8, iso-8859-1;q=0.5, *;q=0.1
</pre>

<h2 id="Specifications">Specifications</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Specification</th>
   <th scope="col">Titre</th>
  </tr>
  <tr>
   <td>{{RFC("7231", "Accept-Charset", "5.3.3")}}</td>
   <td>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context</td>
  </tr>
 </tbody>
</table>

<h2 id="Compatibilité_du_navigateur">Compatibilité des navigateurs</h2>

<p>{{Compat("http.headers.Accept-Charset")}}</p>

<h2 id="Voir_également">Voir également</h2>

<ul>
 <li>HTTP <a href="/en-US/docs/Web/HTTP/Content_negotiation">content negotiation</a></li>
 <li>Header avec le résultat de la négociation de contenu : {{HTTPHeader("Content-Type")}}</li>
 <li>Autres Header similaires : {{HTTPHeader("TE")}}, {{HTTPHeader("Accept-Encoding")}}, {{HTTPHeader("Accept-Language")}}, {{HTTPHeader("Accept")}}</li>
</ul>