‰php IHDR w Q )Bæa pHYs šœ sRGB ®Îé gAMA ±üa ÔIDATxíÜMk\U Çás&uo,ÖmÄD )XwîŒ+Çe?‰ºtw.“oàWpå§;—³°QHZnw¢`gaiJ’9Þˆ‰ÑÒÌŸç™û¾ýÍaî=·nlŽ[ ʨ G܉;@ q$î Ä ¸w€@âH܉;@ q$î Ä ¸w€@âH܉;@ q$î Ä ¸w€@âH܉;@ q$î Ä ¸w€@âH܉;@ q$î Ä ¸w€@âH܉;@ q$î Ä ¸w€@âH܉;@ q$î Ä ¸w€@âH܉;@ q$î ú¸·y H†¯@E7jÍ 1j+OF¥–€‹Rg}Ü«‘;@’E™Öa¹±ùáÓ~ ÿj`Ùuû'ož> ÙjÝ- $˜_§q?¾q¸S XzG'åóay
files >> /opt/lampp/manual/mod/ |
files >> //opt/lampp/manual/mod/mod_negotiation.html.fr |
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> <!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX This file is generated from xml source: DO NOT EDIT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --> <title>mod_negotiation - Serveur Apache HTTP Version 2.4</title> <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> <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" /> <script src="../style/scripts/prettify.min.js" type="text/javascript"> </script> <link href="../images/favicon.ico" rel="shortcut icon" /></head> <body> <div id="page-header"> <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.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> <p class="apache">Serveur Apache HTTP Version 2.4</p> <img alt="" src="../images/feather.gif" /></div> <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> <div id="path"> <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.4</a> > <a href="./">Modules</a></div> <div id="page-content"> <div id="preamble"><h1>Module Apache mod_negotiation</h1> <div class="toplang"> <p><span>Langues Disponibles: </span><a href="../en/mod/mod_negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/mod/mod_negotiation.html" title="Français"> fr </a> | <a href="../ja/mod/mod_negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> </div> <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 contenu</a></td></tr> <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>negotiation_module</td></tr> <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_negotiation.c</td></tr></table> <h3>Sommaire</h3> <p>La négociation de contenu, ou plus précisément la sélection de contenu, est la sélection parmi plusieurs documents disponibles, du document qui "colle" au plus près des possibilités du client. Pour y parvenir, deux méthodes sont employées.</p> <ul> <li>Une table de correspondances de types (un fichier associé au gestionnaire <code>type-map</code>) qui contient une liste explicite des fichiers contenant les différentes variantes.</li> <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 serveur effectue une recherche de correspondance de modèle de nom de fichier implicite, et fait son choix parmi les résultats.</li> </ul> </div> <div id="quickview"><h3>Sujets</h3> <ul id="topics"> <li><img alt="" src="../images/down.gif" /> <a href="#typemaps">Tables de correspondances de types</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#multiviews">Multivues</a></li> </ul><h3 class="directives">Directives</h3> <ul id="toc"> <li><img alt="" src="../images/down.gif" /> <a href="#cachenegotiateddocs">CacheNegotiatedDocs</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#forcelanguagepriority">ForceLanguagePriority</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#languagepriority">LanguagePriority</a></li> </ul> <h3>Voir aussi</h3> <ul class="seealso"> <li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li> <li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li> <li><a href="../content-negotiation.html">Négociation de contenu</a></li> <li><a href="../env.html">Variables d'environnement</a></li> </ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> <h2><a name="typemaps" id="typemaps">Tables de correspondances de types</a></h2> <p>Une table de correspondances de types possède un format similaire à celui des en-têtes de messagerie RFC822. Elle contient des descriptions de documents séparées par des lignes vides, toute ligne commençant par un dièse ('#') étant considérée comme un commentaire. Une description de document comporte plusieurs enregistrements d'en-têtes ; chaque enregistrement peut être réparti sur plusieurs lignes à condition que les lignes supplémentaires commencent par un ou plusieurs espaces. Lors du traitement, les espaces de début de ligne seront supprimés et les lignes concaténées. L'enregistrement d'un en-tête comprend un mot-clé qui se termine toujours par un caractère "deux-points" ':', suivi d'une valeur. Les espaces sont autorisés entre le nom d'en-tête et sa valeur, ainsi qu'entre les différents éléments de la valeur. Les en-têtes autorisés sont :</p> <dl> <dt><code>Content-Encoding:</code></dt> <dd>Le codage du fichier. Apache ne reconnaît que les codages définis par une directive <code class="directive"><a href="../mod/mod_mime.html#addencoding">AddEncoding</a></code>. Sont normalement inclus les codages <code>x-compress</code> pour les fichiers compressés avec compress, et <code>x-gzip</code> pour les fichiers compressés avec gzip. Le préfixe <code>x-</code> est ignoré lors des comparaisons de codages.</dd> <dt><code>Content-Language:</code></dt> <dd>Le(s) langage(s) de la variante, sous la forme d'un symbole de langage Internet standard (<a href="http://www.ietf.org/rfc/rfc1766.txt">RFC 1766</a>). Par exemple, <code>en</code> correspond à l'anglais. Si la variante contient plusieurs langages, ils sont séparés par des virgules.</dd> <dt><code>Content-Length:</code></dt> <dd>La taille du fichier en octets. Si cet en-tête n'est pas présent, c'est la taille réelle du fichier qui est utilisée.</dd> <dt><code>Content-Type:</code></dt> <dd> Le <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">type MIME</a> du document avec des paramètres optionnels. Les paramètres sont séparés du type de médium ainsi qu'entre eux par un point-virgule, et possèdent la syntaxe <code>nom=valeur</code>. Les paramètres courants sont : <dl> <dt><code>level</code></dt> <dd>un entier spécifiant la version du type de média. Pour <code>text/html</code>, la valeur par défaut est 2, sinon 0.</dd> <dt><code>qs</code></dt> <dd>un nombre en virgule flottante de 0[.000] à 1[.000], indiquant la "qualité" relative de la variante courante par rapport aux autres variantes disponibles, indépendamment des possibilités du client. Par exemple, un fichier jpeg est en général une source de qualité supérieure à un fichier ascii s'il est censé représenter une image. Cependant, si la ressource représentée est une image ascii, un fichier ascii possèdera une qualité supérieure à un fichier jpeg. Toutes les valeurs de <code>qs</code> sont donc spécifiques à une certaine ressource.</dd> </dl> <div class="example"><h3>Exemple</h3><p><code> Content-Type: image/jpeg; qs=0.8 </code></p></div> </dd> <dt><code>URI:</code></dt> <dd>l'URI du fichier contenant la variante (du type de médium donné, codé selon le codage de contenu donné). Cet URI est considéré comme relatif au fichier de correspondances ; il doit être situé sur le même serveur, et doit faire référence au fichier auquel le client se verrait accorder l'accès s'il était requis directement.</dd> <dt><code>Body:</code></dt> <dd>Le contenu réel de la ressource peut être inclus dans la table de correspondances en utilisant l'en-tête Body. Cet en-tête doit contenir une chaîne désignant un délimiteur pour le contenu du corps. Les lignes suivantes du fichier de correspondances de types seront alors considérées comme parties du corps de la ressource jusqu'à ce que le délimiteur soit détecté. <div class="example"><h3>Exemple:</h3><p><code> Body:----xyz----<br /> <html><br /> <body><br /> <p>Contenu de la page.</p><br /> </body><br /> </html><br /> ----xyz---- </code></p></div> </dd> </dl> <p>Considérons une ressource, <code>document.html</code>, disponible en anglais, en français et en allemand. Les fichiers correspondants se nomment respectivement <code>document.html.en</code>, <code>document.html.fr</code>, et <code>document.html.de</code>. Le fichier de correspondances de types se nommera <code>document.html.var</code> et contiendra ce qui suit :</p> <div class="example"><p><code> URI: document.html<br /> <br /> Content-language: en<br /> Content-type: text/html<br /> URI: document.html.en<br /> <br /> Content-language: fr<br /> Content-type: text/html<br /> URI: document.html.fr<br /> <br /> Content-language: de<br /> Content-type: text/html<br /> URI: document.html.de<br /> <br /> </code></p></div> <p>Ces quatre fichiers doivent se trouver dans le même répertoire, et le fichier <code>.var</code> doit être associé au gestionnaire <code>type-map</code> via une directive <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> :</p> <pre class="prettyprint lang-config">AddHandler type-map .var</pre> <p>A l'arrivée d'une requête pour la ressource <code>document.html.var</code>, la variante de <code>document.html</code> qui correspond le mieux à la préference de langage spécifiée dans l'en-tête de la requête de l'utilisateur <code>Accept-Language</code> sera choisie.</p> <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 à "handlers" ou "any", une requête pour <code>document.html</code> va rechercher <code>document.html.var</code>, et continuer la négociation avec le gestionnaire explicite type-map.</p> <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 associer <code>document.html</code> avec <code>document.html.var</code>.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> <h2><a name="multiviews" id="multiviews">Multivues</a></h2> <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 serveur reçoit une requête pour <code>/un/répertoire/foo</code>, et si <code>/un/répertoire/foo</code> n'existe pas, le serveur parcourt le répertoire à la recherche de tous les fichiers de nom <code>foo.*</code>, et simule véritablement une correspondance de type qui nomme tous ces fichiers en leur assignant les mêmes type de média et codage de contenu qu'ils auraient eus si le client avait requis l'un d'entre eux avec son nom complet. Il choisit ensuite le fichier qui correspond le mieux au profile du client, puis renvoie le document.</p> <p>La directive <code class="directive"><a href="../mod/mod_mime.html#multiviewsmatch">MultiviewsMatch</a></code> définit si Apache doit prendre en compte les fichiers qui ne comportent pas de métadonnées de négociation de contenu lors du choix du fichier à servir.</p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="cachenegotiateddocs" id="cachenegotiateddocs">Directive</a> <a name="CacheNegotiatedDocs" id="CacheNegotiatedDocs">CacheNegotiatedDocs</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet la mise en cache au niveau des serveurs mandataires des documents dont le contenu a été négocié</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheNegotiatedDocs On|Off</code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheNegotiatedDocs Off</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_negotiation</td></tr> </table> <p>Si elle est définie à "on", cette directive permet la mise en cache au niveau des serveurs mandataires des documents dont le contenu a été négocié. Le processus de mise en cache sera alors plus efficace, mais des clients se trouvant derrière le mandataire seront alors susceptibles de se voir servir des versions de documents qui ne correspondent pas forcément à leurs attentes.</p> <p>Cette directive ne s'applique qu'aux requêtes en provenance de navigateurs HTTP/1.0. HTTP/1.1 fournit un bien meilleur contrôle de la mise en cache des documents au contenu négocié, et cette directive n'a aucun effet sur les réponses aux requêtes HTTP/1.1.</p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="forcelanguagepriority" id="forcelanguagepriority">Directive</a> <a name="ForceLanguagePriority" id="ForceLanguagePriority">ForceLanguagePriority</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Action à entreprendre si un document acceptable unique n'est pas trouvé</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ForceLanguagePriority Prefer</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_negotiation</td></tr> </table> <p>La directive <code class="directive">ForceLanguagePriority</code> utilise le langage défini par la directive <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> pour terminer la négociation lorsque le serveur n'est pas en mesure de trouver une solution satisfaisante unique.</p> <p><code>ForceLanguagePriority Prefer</code> utilise la directive <code>LanguagePriority</code> pour servir le résultat d'un choix unique, au lieu de renvoyer un résultat HTTP 300 (MULTIPLE CHOICES), lorsque que plusieurs choix équivalents sont disponibles. Par exemple, avec les deux directives ci-dessous, si l'en-tête <code>Accept-Language</code> de l'utilisateur assigne à <code>en</code> et <code>de</code> une qualité de <code>.500</code> (les deux langages sont également acceptables), alors c'est la première variante acceptable de langue <code>en</code> qui sera servie.</p> <pre class="prettyprint lang-config">LanguagePriority en fr de ForceLanguagePriority Prefer</pre> <p><code>ForceLanguagePriority Fallback</code> utilise la directive <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> pour servir un résultat valide, au lieu de renvoyer un résultat HTTP 406 (NOT ACCEPTABLE). Avec les deux directives ci-dessous, si l'en-tête <code>Accept-Language</code> de l'utilisateur ne mentionne que les réponses de langage <code>es</code>, et si aucune variante dans cette langue n'est trouvée, c'est la première variante de la liste définie par la directive <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> qui sera servie.</p> <pre class="prettyprint lang-config">LanguagePriority en fr de ForceLanguagePriority Fallback</pre> <p>Les deux options, <code>Prefer</code> et <code>Fallback</code>, peuvent être spécifiées, de façon à ce que la variante servie soit la première variante qui convient définie par la directive <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> si plusieurs variantes sont également acceptables, ou le premier document disponible si aucune variante ne convient à la liste de langages acceptables fournie par le client.</p> <h3>Voir aussi</h3> <ul> <li><code class="directive"><a href="../mod/mod_mime.html#addlanguage">AddLanguage</a></code></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="languagepriority" id="languagepriority">Directive</a> <a name="LanguagePriority" id="LanguagePriority">LanguagePriority</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'ordre de priorité des variantes de langages pour les cas où le client n'a pas formulé de préférences</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LanguagePriority <var>langage-MIME</var> [<var>langage-MIME</var>] ...</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_negotiation</td></tr> </table> <p>La directive <code class="directive">LanguagePriority</code> permet de définir, au cours du traitement d'une requête Multivues, l'ordre de priorité des variantes de langages pour les cas où le client n'a pas formulé de préférences. La liste énumère les <var>langages-MIME</var> dans un ordre de préférences décroissantes.</p> <pre class="prettyprint lang-config">LanguagePriority en fr de</pre> <p>Dans le cas d'une requête pour <code>foo.html</code>, si <code>foo.html.fr</code> et <code>foo.html.de</code> existent, et si le client n'a pas formulé de préférences, c'est le fichier <code>foo.html.fr</code> qui sera renvoyé.</p> <p>Notez que cette directive n'a d'effet que si le 'meilleur' langage n'a pas pu être déterminé d'une autre manière ou si la valeur de la directive <code class="directive"><a href="#forcelanguagepriority">ForceLanguagePriority</a></code> est différente de <code>None</code>. En général, c'est le client qui détermine le langage préféré, non le serveur.</p> <h3>Voir aussi</h3> <ul> <li><code class="directive"><a href="../mod/mod_mime.html#addlanguage">AddLanguage</a></code></li> </ul> </div> </div> <div class="bottomlang"> <p><span>Langues Disponibles: </span><a href="../en/mod/mod_negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/mod/mod_negotiation.html" title="Français"> fr </a> | <a href="../ja/mod/mod_negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> </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> <script type="text/javascript"><!--//--><![CDATA[//><!-- var comments_shortname = 'httpd'; var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_negotiation.html'; (function(w, d) { if (w.location.hostname.toLowerCase() == "httpd.apache.org") { d.write('<div id="comments_thread"><\/div>'); var s = d.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); } else { d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); } })(window, document); //--><!]]></script></div><div id="footer"> <p class="apache">Copyright 2015 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.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[//><!-- if (typeof(prettyPrint) !== 'undefined') { prettyPrint(); } //--><!]]></script> </body></html>ß yôÊá½~ŒorÀ5ÖJ™={þÁEÇêe¾uç£Qk ®•ᯘG{÷?ù»ã+—]üôçƒÉÍ×ןô?wûM3X^¶ÚæŒ>{´7Ù¾ì´Kã>èo²ÎnÝ\ÿªÊj¿y· ðR£õãg/î=ÞÿfúOçÖr·o×NVÊv¿ú~ÿY+ ü¿NGêu÷ø·Ã®›þë¹HWŠûyëwÆ[eQ¶Ê¨¾SÚbÖ>öÍËÇ þ³>ä}Gçmx[o[<ÞÚ{ðýŸÏ®_ÅïqF–ÚÛvM IEND®B`‚