1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
4 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7 This file is generated from xml source: DO NOT EDIT
8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
10 <title>mod_negotiation - Serveur Apache HTTP Version 2.5</title>
11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
14 <script src="../style/scripts/prettify.min.js" type="text/javascript">
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
19 <div id="page-header">
20 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
21 <p class="apache">Serveur Apache HTTP Version 2.5</p>
22 <img alt="" src="../images/feather.png" /></div>
23 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
25 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
26 <div id="page-content">
27 <div id="preamble"><h1>Module Apache mod_negotiation</h1>
29 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> |
30 <a href="../fr/mod/mod_negotiation.html" title="Français"> fr </a> |
31 <a href="../ja/mod/mod_negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
33 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Effectue la <a href="../content-negotiation.html">négociation de
35 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
36 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>negotiation_module</td></tr>
37 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_negotiation.c</td></tr></table>
40 <p>La négociation de contenu, ou plus précisément la sélection de
41 contenu, est la sélection parmi plusieurs documents disponibles, du
42 document qui "colle" au plus près des possibilités du client. Pour y
43 parvenir, deux méthodes sont employées.</p>
46 <li>Une table de correspondances de types (un fichier associé au
47 gestionnaire <code>type-map</code>) qui contient une liste
48 explicite des fichiers contenant les différentes variantes.</li>
50 <li>Une recherche multivues (Multiviews) (activée par l'<code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>Multiviews</code>), où le
51 serveur effectue une recherche de correspondance de modèle de nom
52 de fichier implicite, et fait son choix parmi les résultats.</li>
55 <div id="quickview"><h3>Sujets</h3>
57 <li><img alt="" src="../images/down.gif" /> <a href="#typemaps">Tables de correspondances de types</a></li>
58 <li><img alt="" src="../images/down.gif" /> <a href="#multiviews">Multivues</a></li>
59 </ul><h3 class="directives">Directives</h3>
61 <li><img alt="" src="../images/down.gif" /> <a href="#cachenegotiateddocs">CacheNegotiatedDocs</a></li>
62 <li><img alt="" src="../images/down.gif" /> <a href="#forcelanguagepriority">ForceLanguagePriority</a></li>
63 <li><img alt="" src="../images/down.gif" /> <a href="#languagepriority">LanguagePriority</a></li>
65 <h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_negotiation">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_negotiation">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
67 <li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li>
68 <li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li>
69 <li><a href="../content-negotiation.html">Négociation de
71 <li><a href="../env.html">Variables d'environnement</a></li>
72 <li><a href="#comments_section">Commentaires</a></li></ul></div>
73 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
75 <h2><a name="typemaps" id="typemaps">Tables de correspondances de types</a></h2>
76 <p>Une table de correspondances de types possède un format similaire
77 à celui des en-têtes de messagerie RFC822. Elle contient des
78 descriptions de documents séparées par des lignes vides, toute ligne
79 commençant par un dièse ('#') étant considérée comme un
80 commentaire. Une description de document comporte plusieurs
81 enregistrements d'en-têtes ; chaque enregistrement peut être réparti
82 sur plusieurs lignes à condition que les lignes supplémentaires
83 commencent par un ou plusieurs espaces. Lors du traitement, les
84 espaces de début de ligne seront supprimés et les lignes
85 concaténées. L'enregistrement d'un en-tête comprend un mot-clé qui
86 se termine toujours par un caractère "deux-points" ':', suivi d'une
87 valeur. Les espaces sont autorisés entre le nom d'en-tête et sa
88 valeur, ainsi qu'entre les différents éléments de la valeur. Les
89 en-têtes autorisés sont :</p>
92 <dt><code>Content-Encoding:</code></dt>
93 <dd>Le codage du fichier. Apache ne reconnaît que les codages
94 définis par une directive <code class="directive"><a href="../mod/mod_mime.html#addencoding">AddEncoding</a></code>. Sont normalement inclus
95 les codages <code>x-compress</code> pour les fichiers compressés
96 avec compress, et <code>x-gzip</code> pour les fichiers compressés
97 avec gzip. Le préfixe <code>x-</code> est ignoré lors des
98 comparaisons de codages.</dd>
100 <dt><code>Content-Language:</code></dt>
101 <dd>Le(s) langage(s) de la variante, sous la forme d'un symbole de
102 langage Internet standard (<a href="http://www.ietf.org/rfc/rfc1766.txt">RFC 1766</a>). Par
103 exemple, <code>en</code> correspond à l'anglais. Si la variante
104 contient plusieurs langages, ils sont séparés par des
107 <dt><code>Content-Length:</code></dt>
108 <dd>La taille du fichier en octets. Si cet en-tête n'est pas
109 présent, c'est la taille réelle du fichier qui est utilisée.</dd>
111 <dt><code>Content-Type:</code></dt>
114 Le <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">type MIME</a> du document
115 avec des paramètres optionnels. Les paramètres sont séparés du
116 type de médium ainsi qu'entre eux par un point-virgule, et
117 possèdent la syntaxe <code>nom=valeur</code>. Les paramètres
121 <dt><code>level</code></dt>
122 <dd>un entier spécifiant la version du type de média. Pour
123 <code>text/html</code>, la valeur par défaut est 2, sinon
126 <dt><code>qs</code></dt>
127 <dd>un nombre en virgule flottante de 0[.000] à 1[.000], indiquant la
128 "qualité" relative de la variante courante par rapport aux
129 autres variantes disponibles, indépendamment des possibilités
130 du client. Par exemple, un fichier jpeg est en général une
131 source de qualité supérieure à un fichier ascii s'il est censé
132 représenter une image. Cependant, si la ressource représentée
133 est une image ascii, un fichier ascii possèdera une qualité
134 supérieure à un fichier jpeg. Toutes les valeurs de
135 <code>qs</code> sont donc spécifiques à une certaine
139 <div class="example"><h3>Exemple</h3><p><code>
140 Content-Type: image/jpeg; qs=0.8
144 <dt><code>URI:</code></dt>
145 <dd>l'URI du fichier contenant la variante (du type de médium
146 donné, codé selon le codage de contenu donné). Cet URI est
147 considéré comme relatif au fichier de correspondances ; il doit
148 être situé sur le même serveur, et doit faire référence au
149 fichier auquel le client se verrait accorder l'accès s'il était
150 requis directement.</dd>
152 <dt><code>Body:</code></dt>
153 <dd>Le contenu réel de la ressource
154 peut être inclus dans la table de correspondances en utilisant
155 l'en-tête Body. Cet en-tête doit contenir une chaîne désignant un
156 délimiteur pour le contenu du corps. Les lignes suivantes du
157 fichier de correspondances de types seront alors considérées comme
158 parties du corps de la ressource jusqu'à ce que le délimiteur soit
161 <div class="example"><h3>Exemple:</h3><p><code>
162 Body:----xyz----<br />
165 <p>Contenu de la page.</p><br />
173 <p>Considérons une ressource, <code>document.html</code>, disponible
174 en anglais, en français et en allemand. Les fichiers correspondants
175 se nomment respectivement <code>document.html.en</code>,
176 <code>document.html.fr</code>, et <code>document.html.de</code>. Le
177 fichier de correspondances de types se nommera
178 <code>document.html.var</code> et contiendra ce qui suit :</p>
180 <div class="example"><p><code>
181 URI: document.html<br />
183 Content-language: en<br />
184 Content-type: text/html<br />
185 URI: document.html.en<br />
187 Content-language: fr<br />
188 Content-type: text/html<br />
189 URI: document.html.fr<br />
191 Content-language: de<br />
192 Content-type: text/html<br />
193 URI: document.html.de<br />
198 <p>Ces quatre fichiers doivent se trouver dans le même répertoire,
199 et le fichier <code>.var</code> doit être associé au gestionnaire
200 <code>type-map</code> via une directive <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> :</p>
202 <pre class="prettyprint lang-config">AddHandler type-map .var</pre>
205 <p>A l'arrivée d'une requête pour la ressource
206 <code>document.html.var</code>, la variante de
207 <code>document.html</code> qui correspond le mieux à la préference
208 de langage spécifiée dans l'en-tête de la requête de l'utilisateur
209 <code>Accept-Language</code> sera choisie.</p>
211 <p>Si <code>Multiviews</code> est activée, et si <code class="directive"><a href="../mod/mod_mime.html#multiviewsmatch">MultiviewsMatch</a></code> est définie à
212 "handlers" ou "any", une requête pour <code>document.html</code> va
213 rechercher <code>document.html.var</code>, et continuer la
214 négociation avec le gestionnaire explicite type-map.</p>
216 <p>D'autres directives de configuration, comme <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, peuvent être utilisées pour
217 associer <code>document.html</code> avec
218 <code>document.html.var</code>.</p>
219 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
220 <div class="section">
221 <h2><a name="multiviews" id="multiviews">Multivues</a></h2>
222 <p>Une recherche Multivues est activée par l'<code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>Multiviews</code>. Si le
223 serveur reçoit une requête pour <code>/un/répertoire/foo</code>, et
224 si <code>/un/répertoire/foo</code> n'existe pas, le serveur parcourt
225 le répertoire à la recherche de tous les fichiers de nom
226 <code>foo.*</code>, et simule véritablement une correspondance de
227 type qui nomme tous ces fichiers en leur assignant les mêmes type
228 de média et codage de contenu qu'ils auraient eus si le client avait
229 requis l'un d'entre eux avec son nom complet. Il choisit ensuite le
230 fichier qui correspond le mieux au profile du client, puis renvoie
233 <p>La directive <code class="directive"><a href="../mod/mod_mime.html#multiviewsmatch">MultiviewsMatch</a></code> définit si Apache doit
234 prendre en compte les fichiers qui ne comportent pas de métadonnées
235 de négociation de contenu lors du choix du fichier à servir.</p>
237 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
238 <div class="directive-section"><h2><a name="cachenegotiateddocs" id="cachenegotiateddocs">Directive</a> <a name="CacheNegotiatedDocs" id="CacheNegotiatedDocs">CacheNegotiatedDocs</a></h2>
239 <table class="directive">
240 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Allows content-negotiated documents to be
241 cached by proxy servers</td></tr>
242 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheNegotiatedDocs On|Off</code></td></tr>
243 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheNegotiatedDocs Off</code></td></tr>
244 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
245 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
246 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_negotiation</td></tr>
248 <p>If set, this directive allows content-negotiated documents
249 to be cached by proxy servers. This could mean that clients
250 behind those proxys could retrieve versions of the documents
251 that are not the best match for their abilities, but it will
252 make caching more efficient.</p>
254 <p>This directive only applies to requests which come from
255 HTTP/1.0 browsers. HTTP/1.1 provides much better control over
256 the caching of negotiated documents, and this directive has no
257 effect in responses to HTTP/1.1 requests.</p>
261 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
262 <div class="directive-section"><h2><a name="forcelanguagepriority" id="forcelanguagepriority">Directive</a> <a name="ForceLanguagePriority" id="ForceLanguagePriority">ForceLanguagePriority</a></h2>
263 <table class="directive">
264 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Action to take if a single acceptable document is not
266 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</code></td></tr>
267 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ForceLanguagePriority Prefer</code></td></tr>
268 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
269 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
270 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
271 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_negotiation</td></tr>
273 <p>The <code class="directive">ForceLanguagePriority</code> directive uses
274 the given <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> to satisfy
275 negotiation where the server could otherwise not return a single
276 matching document.</p>
278 <p><code>ForceLanguagePriority Prefer</code> uses
279 <code>LanguagePriority</code> to serve a one valid result, rather
280 than returning an HTTP result 300 (MULTIPLE CHOICES) when there
281 are several equally valid choices. If the directives below were
282 given, and the user's <code>Accept-Language</code> header assigned
283 <code>en</code> and <code>de</code> each as quality <code>.500</code>
284 (equally acceptable) then the first matching variant, <code>en</code>,
287 <pre class="prettyprint lang-config">LanguagePriority en fr de
288 ForceLanguagePriority Prefer</pre>
291 <p><code>ForceLanguagePriority Fallback</code> uses
292 <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> to
293 serve a valid result, rather than returning an HTTP result 406
294 (NOT ACCEPTABLE). If the directives below were given, and the user's
295 <code>Accept-Language</code> only permitted an <code>es</code>
296 language response, but such a variant isn't found, then the first
297 variant from the <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> list below will be served.</p>
299 <pre class="prettyprint lang-config">LanguagePriority en fr de
300 ForceLanguagePriority Fallback</pre>
303 <p>Both options, <code>Prefer</code> and <code>Fallback</code>, may be
304 specified, so either the first matching variant from <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> will be served if
305 more than one variant is acceptable, or first available document will
306 be served if none of the variants matched the client's acceptable list
311 <li><code class="directive"><a href="../mod/mod_mime.html#addlanguage">AddLanguage</a></code></li>
314 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
315 <div class="directive-section"><h2><a name="languagepriority" id="languagepriority">Directive</a> <a name="LanguagePriority" id="LanguagePriority">LanguagePriority</a></h2>
316 <table class="directive">
317 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The precedence of language variants for cases where
318 the client does not express a preference</td></tr>
319 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LanguagePriority <var>MIME-lang</var> [<var>MIME-lang</var>]
321 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
322 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
323 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
324 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_negotiation</td></tr>
326 <p>The <code class="directive">LanguagePriority</code> sets the precedence
327 of language variants for the case where the client does not
328 express a preference, when handling a Multiviews request. The list
329 of <var>MIME-lang</var> are in order of decreasing preference.</p>
331 <pre class="prettyprint lang-config">LanguagePriority en fr de</pre>
334 <p>For a request for <code>foo.html</code>, where
335 <code>foo.html.fr</code> and <code>foo.html.de</code> both
336 existed, but the browser did not express a language preference,
337 then <code>foo.html.fr</code> would be returned.</p>
339 <p>Note that this directive only has an effect if a 'best'
340 language cannot be determined by any other means or the <code class="directive"><a href="#forcelanguagepriority">ForceLanguagePriority</a></code> directive
341 is not <code>None</code>. In general, the client determines the
342 language preference, not the server.</p>
346 <li><code class="directive"><a href="../mod/mod_mime.html#addlanguage">AddLanguage</a></code></li>
350 <div class="bottomlang">
351 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> |
352 <a href="../fr/mod/mod_negotiation.html" title="Français"> fr </a> |
353 <a href="../ja/mod/mod_negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
354 </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
355 <script type="text/javascript"><!--//--><![CDATA[//><!--
356 var comments_shortname = 'httpd';
357 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_negotiation.html';
359 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
360 d.write('<div id="comments_thread"><\/div>');
361 var s = d.createElement('script');
362 s.type = 'text/javascript';
364 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
365 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
368 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
370 })(window, document);
371 //--><!]]></script></div><div id="footer">
372 <p class="apache">Copyright 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
373 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
374 if (typeof(prettyPrint) !== 'undefined') {