content-negotiation.html.fr revision 198c35e2b8696f42f3b2a4130f2ae1225b26d2c6
4f372d1b10414884e2526724169d6027468ea473gryzor<?xml version="1.0" encoding="ISO-8859-1"?>
4f372d1b10414884e2526724169d6027468ea473gryzor<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4f372d1b10414884e2526724169d6027468ea473gryzor<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
4f372d1b10414884e2526724169d6027468ea473gryzor XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
4f372d1b10414884e2526724169d6027468ea473gryzor This file is generated from xml source: DO NOT EDIT
4f372d1b10414884e2526724169d6027468ea473gryzor XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
4f372d1b10414884e2526724169d6027468ea473gryzor -->
4f372d1b10414884e2526724169d6027468ea473gryzor<title>N�gociation de contenu - Serveur Apache HTTP</title>
4f372d1b10414884e2526724169d6027468ea473gryzor<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
4f372d1b10414884e2526724169d6027468ea473gryzor<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
4f372d1b10414884e2526724169d6027468ea473gryzor<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" />
4f372d1b10414884e2526724169d6027468ea473gryzor<script src="/style/scripts/prettify.js" type="text/javascript">
4f372d1b10414884e2526724169d6027468ea473gryzor</script>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor<link href="/images/favicon.ico" rel="shortcut icon" /></head>
4f372d1b10414884e2526724169d6027468ea473gryzor<body id="manual-page"><div id="page-header">
4f372d1b10414884e2526724169d6027468ea473gryzor<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>
4f372d1b10414884e2526724169d6027468ea473gryzor<p class="apache">Serveur Apache HTTP Version 2.5</p>
4f372d1b10414884e2526724169d6027468ea473gryzor<img alt="" src="/images/feather.gif" /></div>
4f372d1b10414884e2526724169d6027468ea473gryzor<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
4f372d1b10414884e2526724169d6027468ea473gryzor<div id="path">
4f372d1b10414884e2526724169d6027468ea473gryzor<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>N�gociation de contenu</h1>
4f372d1b10414884e2526724169d6027468ea473gryzor<div class="toplang">
4f372d1b10414884e2526724169d6027468ea473gryzor<p><span>Langues Disponibles: </span><a href="/en/content-negotiation.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
4f372d1b10414884e2526724169d6027468ea473gryzor<a href="/fr/content-negotiation.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
4f372d1b10414884e2526724169d6027468ea473gryzor<a href="/ja/content-negotiation.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
4f372d1b10414884e2526724169d6027468ea473gryzor<a href="/ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
4f372d1b10414884e2526724169d6027468ea473gryzor<a href="/tr/content-negotiation.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
4f372d1b10414884e2526724169d6027468ea473gryzor</div>
4f372d1b10414884e2526724169d6027468ea473gryzor<div class="outofdate">Cette traduction peut �tre p�rim�e. V�rifiez la version
4f372d1b10414884e2526724169d6027468ea473gryzor anglaise pour les changements r�cents.</div>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>Apache HTTPD supporte la n�gociation de
4f372d1b10414884e2526724169d6027468ea473gryzor contenu telle qu'elle est d�crite
4f372d1b10414884e2526724169d6027468ea473gryzor dans la sp�cification HTTP/1.1. Il peut choisir la meilleure repr�sentation
4f372d1b10414884e2526724169d6027468ea473gryzor d'une ressource en fonction des pr�f�rences du navigateur pour ce qui
4f372d1b10414884e2526724169d6027468ea473gryzor concerne le type de media, les langages, le jeu de caract�res et son
4f372d1b10414884e2526724169d6027468ea473gryzor encodage. Il impl�mente aussi quelques fonctionnalit�s pour traiter de
4f372d1b10414884e2526724169d6027468ea473gryzor mani�re plus intelligente les requ�tes en provenance de navigateurs qui
4f372d1b10414884e2526724169d6027468ea473gryzor envoient des informations de n�gociation incompl�tes.</p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>La n�gociation de contenu est assur�e par le module
4f372d1b10414884e2526724169d6027468ea473gryzor <code class="module"><a href="/mod/mod_negotiation.html">mod_negotiation</a></code> qui est compil� par d�faut
4f372d1b10414884e2526724169d6027468ea473gryzor dans le serveur.</p>
4f372d1b10414884e2526724169d6027468ea473gryzor</div>
4f372d1b10414884e2526724169d6027468ea473gryzor<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#about">� propos de la n�gociation de contenu</a></li>
4f372d1b10414884e2526724169d6027468ea473gryzor<li><img alt="" src="/images/down.gif" /> <a href="#negotiation">La n�gociation avec httpd</a></li>
4f372d1b10414884e2526724169d6027468ea473gryzor<li><img alt="" src="/images/down.gif" /> <a href="#methods">Les m�thodes de n�gociation</a></li>
4f372d1b10414884e2526724169d6027468ea473gryzor<li><img alt="" src="/images/down.gif" /> <a href="#better">Ajustement des valeurs de qualit�</a></li>
4f372d1b10414884e2526724169d6027468ea473gryzor<li><img alt="" src="/images/down.gif" /> <a href="#extensions">Extensions � la n�gociation de contenu
4f372d1b10414884e2526724169d6027468ea473gryzortransparente</a></li>
4f372d1b10414884e2526724169d6027468ea473gryzor<li><img alt="" src="/images/down.gif" /> <a href="#naming">Remarques � propos des liens hypertextes et des
4f372d1b10414884e2526724169d6027468ea473gryzorconventions de nommage</a></li>
4f372d1b10414884e2526724169d6027468ea473gryzor<li><img alt="" src="/images/down.gif" /> <a href="#caching">Remarque sur la mise en cache</a></li>
4f372d1b10414884e2526724169d6027468ea473gryzor</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
4f372d1b10414884e2526724169d6027468ea473gryzor<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
4f372d1b10414884e2526724169d6027468ea473gryzor<div class="section">
4f372d1b10414884e2526724169d6027468ea473gryzor<h2><a name="about" id="about">� propos de la n�gociation de contenu</a></h2>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>Une ressource peut �tre disponible selon diff�rentes repr�sentations.
4f372d1b10414884e2526724169d6027468ea473gryzor Par exemple, elle peut �tre disponible en diff�rents langages ou pour
4f372d1b10414884e2526724169d6027468ea473gryzor diff�rents types de m�dia, ou une combinaison des deux.
4f372d1b10414884e2526724169d6027468ea473gryzor Pour faire le meilleur choix, on peut fournir � l'utilisateur une page
4f372d1b10414884e2526724169d6027468ea473gryzor d'index, et le laisser choisir. Cependant, le serveur peut souvent faire
4f372d1b10414884e2526724169d6027468ea473gryzor ce choix automatiquement. Ceci est possible car les navigateurs peuvent
4f372d1b10414884e2526724169d6027468ea473gryzor envoyer des informations sur les
4f372d1b10414884e2526724169d6027468ea473gryzor repr�sentations qu'ils pr�f�rent � l'int�rieur de chaque requ�te.
4f372d1b10414884e2526724169d6027468ea473gryzor Par exemple, un navigateur peut indiquer
4f372d1b10414884e2526724169d6027468ea473gryzor qu'il pr�f�re voir les informations en fran�ais, mais qu'en cas
4f372d1b10414884e2526724169d6027468ea473gryzor d'impossibilit� l'anglais peut convenir. Les navigateurs indiquent leurs
4f372d1b10414884e2526724169d6027468ea473gryzor pr�f�rences � l'aide d'en-t�tes dans la requ�te. Pour ne demander que des
4f372d1b10414884e2526724169d6027468ea473gryzor repr�sentations en fran�ais, le navigateur peut utiliser l'en-t�te :</p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor<div class="example"><p><code>Accept-Language: fr</code></p></div>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>Notez qu'il ne sera tenu compte de cette pr�f�rence que s'il existe un
4f372d1b10414884e2526724169d6027468ea473gryzor choix de repr�sentations et que ces derni�res varient en fonction
4f372d1b10414884e2526724169d6027468ea473gryzor du langage.</p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>� titre d'exemple d'une requ�te plus complexe, ce navigateur a �t�
4f372d1b10414884e2526724169d6027468ea473gryzor configur� pour accepter le fran�ais et l'anglais, avec une pr�f�rence pour
4f372d1b10414884e2526724169d6027468ea473gryzor le fran�ais, et accepter diff�rents types de m�dia, avec une pr�f�rence
4f372d1b10414884e2526724169d6027468ea473gryzor pour HTML par rapport � au texte plat ("plain text") ou autres types de fichiers texte, et
4f372d1b10414884e2526724169d6027468ea473gryzor avec une pr�f�rence pour GIF ou JPEG par rapport � tout autre type de
4f372d1b10414884e2526724169d6027468ea473gryzor m�dia, mais autorisant tout autre type de m�dia en dernier ressort :</p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor<div class="example"><p><code>
4f372d1b10414884e2526724169d6027468ea473gryzor Accept-Language: fr; q=1.0, en; q=0.5<br />
4f372d1b10414884e2526724169d6027468ea473gryzor Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, image/jpeg; q=0.6, image/*; q=0.5, */*; q=0.1
4f372d1b10414884e2526724169d6027468ea473gryzor</code></p></div>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>httpd supporte la n�gociation de contenu "server driven" (telle qu'elle
4f372d1b10414884e2526724169d6027468ea473gryzor est d�finie dans la sp�cification HTTP/1.1), o� c'est le serveur qui
4f372d1b10414884e2526724169d6027468ea473gryzor d�cide quelle est la meilleure repr�sentation � retourner pour la ressource
4f372d1b10414884e2526724169d6027468ea473gryzor demand�e. Il supporte enti�rement les en-t�tes de requ�te
4f372d1b10414884e2526724169d6027468ea473gryzor <code>Accept</code>, <code>Accept-Language</code>,
4f372d1b10414884e2526724169d6027468ea473gryzor <code>Accept-Charset</code> et <code>Accept-Encoding</code>.
4f372d1b10414884e2526724169d6027468ea473gryzor httpd supporte aussi la n�gociation de contenu transparente, qui est un
4f372d1b10414884e2526724169d6027468ea473gryzor protocole de n�gociation exp�rimental d�fini dans les RFC 2295 et 2296.
4f372d1b10414884e2526724169d6027468ea473gryzor Il ne supporte pas la n�gociation de fonctionnalit� (feature negotiation)
4f372d1b10414884e2526724169d6027468ea473gryzor telle qu'elle est d�finie dans ces RFCs.</p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>Une <strong>ressource</strong> est une entit� conceptuelle identifi�e
4f372d1b10414884e2526724169d6027468ea473gryzor par une URI (RFC 2396). Un serveur HTTP comme le serveur HTTP Apache
4f372d1b10414884e2526724169d6027468ea473gryzor propose l'acc�s � des
4f372d1b10414884e2526724169d6027468ea473gryzor <strong>repr�sentations</strong> de la ressource � l'int�rieur de son
4f372d1b10414884e2526724169d6027468ea473gryzor espace de nommage, chaque repr�sentation �tant compos�e d'une s�quence
4f372d1b10414884e2526724169d6027468ea473gryzor d'octets avec la d�finition d'un type de media, d'un jeu de caract�res,
4f372d1b10414884e2526724169d6027468ea473gryzor d'un encodage, etc... A un instant donn�, chaque ressource peut �tre
4f372d1b10414884e2526724169d6027468ea473gryzor associ�e avec z�ro, une ou plusieurs repr�sentations. Si plusieurs
4f372d1b10414884e2526724169d6027468ea473gryzor repr�sentations sont disponibles, la ressource est qualifi�e de
4f372d1b10414884e2526724169d6027468ea473gryzor <strong>n�gociable</strong> et chacune de ses repr�sentations se nomme
4f372d1b10414884e2526724169d6027468ea473gryzor <strong>variante</strong>. Les diff�rences entre les
4f372d1b10414884e2526724169d6027468ea473gryzor variantes disponibles d'une ressource n�gociable constituent les
4f372d1b10414884e2526724169d6027468ea473gryzor <strong>dimensions</strong> de la n�gociation.</p>
4f372d1b10414884e2526724169d6027468ea473gryzor</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
4f372d1b10414884e2526724169d6027468ea473gryzor<div class="section">
4f372d1b10414884e2526724169d6027468ea473gryzor<h2><a name="negotiation" id="negotiation">La n�gociation avec httpd</a></h2>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>Afin de n�gocier une ressource, on doit fournir au serveur des
4f372d1b10414884e2526724169d6027468ea473gryzor informations � propos de chacune des variantes. Il y a deux mani�res
4f372d1b10414884e2526724169d6027468ea473gryzor d'accomplir ceci :</p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <ul>
4f372d1b10414884e2526724169d6027468ea473gryzor <li>Utiliser une liste de correspondances de type ("type-map") (<em>c'est � dire</em>
4f372d1b10414884e2526724169d6027468ea473gryzor un fichier <code>*.var</code>) qui nomme explicitement les fichiers
4f372d1b10414884e2526724169d6027468ea473gryzor contenant les variantes, ou</li>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <li>Utiliser une recherche "multivues", o� le serveur effectue une
4f372d1b10414884e2526724169d6027468ea473gryzor recherche de correspondance sur un motif de nom de fichier implicite et
4f372d1b10414884e2526724169d6027468ea473gryzor fait son choix parmi les diff�rents r�sultats.</li>
4f372d1b10414884e2526724169d6027468ea473gryzor </ul>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <h3><a name="type-map" id="type-map">Utilisation d'un fichier de
4f372d1b10414884e2526724169d6027468ea473gryzor correspondances de types (type-map)</a></h3>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>Une liste de correspondances de types est un document associ� au
4f372d1b10414884e2526724169d6027468ea473gryzor gestionnaire <code>type-map</code> (ou, dans un souci de compatibilit�
4f372d1b10414884e2526724169d6027468ea473gryzor ascendante avec des configurations de httpd plus anciennes, le
4f372d1b10414884e2526724169d6027468ea473gryzor <a class="glossarylink" href="/glossary.html#type mime" title="voir glossaire">type MIME</a>
4f372d1b10414884e2526724169d6027468ea473gryzor <code>application/x-type-map</code>). Notez que pour utiliser cette
4f372d1b10414884e2526724169d6027468ea473gryzor fonctionnalit�, vous devez, dans le fichier de configuration, d�finir un
4f372d1b10414884e2526724169d6027468ea473gryzor gestionnaire qui associe un suffixe de fichier � une <code>type-map</code>;
4f372d1b10414884e2526724169d6027468ea473gryzor ce qui se fait simplement en ajoutant</p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor<pre class="prettyprint lang-config">AddHandler type-map .var</pre>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>dans le fichier de configuration du serveur.</p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>Les fichiers de correspondances de types doivent poss�der le m�me nom que
4f372d1b10414884e2526724169d6027468ea473gryzor la ressource qu'ils d�crivent, avec pour extension
4f372d1b10414884e2526724169d6027468ea473gryzor <code>.var</code>. Dans l'exemple ci-dessous, la ressource a pour
4f372d1b10414884e2526724169d6027468ea473gryzor nom <code>foo</code>, et le fichier de correspondances se nomme donc
4f372d1b10414884e2526724169d6027468ea473gryzor <code>foo.var</code>.</p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>Ce fichier doit comporter une entr�e pour chaque variante
4f372d1b10414884e2526724169d6027468ea473gryzor disponible; chaque entr�e consiste en une ligne contigu� d'en-t�tes au
4f372d1b10414884e2526724169d6027468ea473gryzor format HTTP. les entr�es sont s�par�es par des lignes vides. Les lignes
4f372d1b10414884e2526724169d6027468ea473gryzor vides � l'int�rieur d'une entr�e sont interdites. Par convention, le
4f372d1b10414884e2526724169d6027468ea473gryzor fichier de correspondances de types d�bute par une entr�e concernant l'entit�
4f372d1b10414884e2526724169d6027468ea473gryzor consid�r�e dans son ensemble (bien que ce ne soit pas obligatoire, et
4f372d1b10414884e2526724169d6027468ea473gryzor ignor� si pr�sent). Un exemple de fichier de
4f372d1b10414884e2526724169d6027468ea473gryzor correspondance de types est fourni
4f372d1b10414884e2526724169d6027468ea473gryzor ci-dessous.</p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>Les URIs de ce fichier sont relatifs � la localisation du fichier
4f372d1b10414884e2526724169d6027468ea473gryzor de correspondances de types. En g�n�ral, ces fichiers se trouveront dans le
4f372d1b10414884e2526724169d6027468ea473gryzor m�me r�pertoire que le fichier de correspondances de types, mais ce
4f372d1b10414884e2526724169d6027468ea473gryzor n'est pas obligatoire. Vous pouvez utiliser des URIs absolus ou
4f372d1b10414884e2526724169d6027468ea473gryzor relatifs pour tout fichier situ� sur le m�me serveur que le fichier
4f372d1b10414884e2526724169d6027468ea473gryzor de correspondances.</p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor<div class="example"><p><code>
4f372d1b10414884e2526724169d6027468ea473gryzor URI: foo<br />
4f372d1b10414884e2526724169d6027468ea473gryzor<br />
4f372d1b10414884e2526724169d6027468ea473gryzor URI: foo.en.html<br />
4f372d1b10414884e2526724169d6027468ea473gryzor Content-type: text/html<br />
4f372d1b10414884e2526724169d6027468ea473gryzor Content-language: en<br />
4f372d1b10414884e2526724169d6027468ea473gryzor<br />
4f372d1b10414884e2526724169d6027468ea473gryzor URI: foo.fr.de.html<br />
4f372d1b10414884e2526724169d6027468ea473gryzor Content-type: text/html;charset=iso-8859-2<br />
4f372d1b10414884e2526724169d6027468ea473gryzor Content-language: fr, de<br />
4f372d1b10414884e2526724169d6027468ea473gryzor</code></p></div>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>Notez aussi qu'un fichier de correspondances de types prend le pas sur
4f372d1b10414884e2526724169d6027468ea473gryzor les extensions de noms de fichiers, m�me si les Multivues sont activ�es.
4f372d1b10414884e2526724169d6027468ea473gryzor Si les variantes sont de qualit�s diff�rentes, on doit l'indiquer
4f372d1b10414884e2526724169d6027468ea473gryzor � l'aide du param�tre "qs" � la suite du type de m�dia, comme pour cette
4f372d1b10414884e2526724169d6027468ea473gryzor image
4f372d1b10414884e2526724169d6027468ea473gryzor (disponible aux formats JPEG, GIF, ou ASCII-art) : </p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor<div class="example"><p><code>
4f372d1b10414884e2526724169d6027468ea473gryzor URI: foo<br />
4f372d1b10414884e2526724169d6027468ea473gryzor<br />
4f372d1b10414884e2526724169d6027468ea473gryzor URI: foo.jpeg<br />
4f372d1b10414884e2526724169d6027468ea473gryzor Content-type: image/jpeg; qs=0.8<br />
4f372d1b10414884e2526724169d6027468ea473gryzor<br />
4f372d1b10414884e2526724169d6027468ea473gryzor URI: foo.gif<br />
4f372d1b10414884e2526724169d6027468ea473gryzor Content-type: image/gif; qs=0.5<br />
4f372d1b10414884e2526724169d6027468ea473gryzor<br />
4f372d1b10414884e2526724169d6027468ea473gryzor URI: foo.txt<br />
4f372d1b10414884e2526724169d6027468ea473gryzor Content-type: text/plain; qs=0.01<br />
4f372d1b10414884e2526724169d6027468ea473gryzor</code></p></div>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>Les valeurs de qs peuvent varier de 0.000 � 1.000. Notez que toute
4f372d1b10414884e2526724169d6027468ea473gryzor variante poss�dant une valeur de qs de 0.000 ne sera jamais choisie.
4f372d1b10414884e2526724169d6027468ea473gryzor Les variantes qui n'ont pas de param�tre qs d�fini se voient attribuer
4f372d1b10414884e2526724169d6027468ea473gryzor une valeur de 1.0. Le param�tre qs indique la qualit� relative de la
4f372d1b10414884e2526724169d6027468ea473gryzor variante compar�e � celle des autres variantes disponibles, sans tenir
4f372d1b10414884e2526724169d6027468ea473gryzor compte des capacit�s du client. Par exemple, un fichier JPEG poss�de
4f372d1b10414884e2526724169d6027468ea473gryzor en g�n�ral une qualit� sup�rieure � celle d'un fichier ASCII s'il
4f372d1b10414884e2526724169d6027468ea473gryzor repr�sente une photographie. Cependant, si la ressource repr�sent�e est
4f372d1b10414884e2526724169d6027468ea473gryzor � un ASCII art original, la repr�sentation ASCII sera de meilleure qualit�
4f372d1b10414884e2526724169d6027468ea473gryzor que la repr�sentation JPEG. Ainsi une valeur de qs est associ�e � une
4f372d1b10414884e2526724169d6027468ea473gryzor variante en fonction de la nature de la ressource qu'elle repr�sente.</p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>La liste compl�te des en-t�tes reconnus est disponible dans la
4f372d1b10414884e2526724169d6027468ea473gryzor documentation sur les <a href="mod/mod_negotiation.html#typemaps">correspondances de types du
4f372d1b10414884e2526724169d6027468ea473gryzor module mod_negotiation</a>.</p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor<h3><a name="multiviews" id="multiviews">Multivues (option Multiviews)</a></h3>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p><code>MultiViews</code> est une option qui s'applique � un r�pertoire,
4f372d1b10414884e2526724169d6027468ea473gryzor ce qui signifie qu'elle peut �tre activ�e � l'aide d'une directive
4f372d1b10414884e2526724169d6027468ea473gryzor <code class="directive"><a href="/mod/core.html#options">Options</a></code> � l'int�rieur d'une section
4f372d1b10414884e2526724169d6027468ea473gryzor <code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code>, <code class="directive"><a href="/mod/core.html#location">&lt;Location&gt;</a></code> ou <code class="directive"><a href="/mod/core.html#files">&lt;Files&gt;</a></code> dans
4f372d1b10414884e2526724169d6027468ea473gryzor <code>httpd.conf</code>, ou (si <code class="directive"><a href="/mod/core.html#allowoverride">AllowOverride</a></code> est correctement positionn�e) dans
4f372d1b10414884e2526724169d6027468ea473gryzor des fichiers
4f372d1b10414884e2526724169d6027468ea473gryzor <code>.htaccess</code>. Notez que <code>Options All</code>
4f372d1b10414884e2526724169d6027468ea473gryzor n'active pas <code>MultiViews</code>; vous devez activer cette option en
4f372d1b10414884e2526724169d6027468ea473gryzor la nommant explicitement.</p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>L'effet de <code>MultiViews</code> est le suivant : si le serveur re�oit
4f372d1b10414884e2526724169d6027468ea473gryzor une requ�te pour <code>/tel/r�pertoire/foo</code>, si
4f372d1b10414884e2526724169d6027468ea473gryzor <code>MultiViews</code> est activ�e pour
4f372d1b10414884e2526724169d6027468ea473gryzor <code>/tel/r�pertoire</code>, et si
4f372d1b10414884e2526724169d6027468ea473gryzor <code>/tel/r�pertoire/foo</code> n'existe <em>pas</em>, le serveur parcourt
4f372d1b10414884e2526724169d6027468ea473gryzor le r�pertoire � la recherche de fichiers nomm�s foo.*, et simule
4f372d1b10414884e2526724169d6027468ea473gryzor litt�ralement une correspondance de types (type map) qui liste tous ces
4f372d1b10414884e2526724169d6027468ea473gryzor fichiers, en leur associant les m�mes types de m�dia et encodages de
4f372d1b10414884e2526724169d6027468ea473gryzor contenu qu'ils auraient eu si le client avait demand� l'acc�s � l'un
4f372d1b10414884e2526724169d6027468ea473gryzor d'entre eux par son nom. Il choisit ensuite ce qui correspond le mieux
4f372d1b10414884e2526724169d6027468ea473gryzor aux besoins du client.</p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p><code>MultiViews</code> peut aussi s'appliquer � la recherche du fichier
4f372d1b10414884e2526724169d6027468ea473gryzor nomm� par la directive <code class="directive"><a href="/mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>, si le serveur tente d'indexer
4f372d1b10414884e2526724169d6027468ea473gryzor un r�pertoire. Si les fichiers de configuration sp�cifient</p>
4f372d1b10414884e2526724169d6027468ea473gryzor<pre class="prettyprint lang-config">DirectoryIndex index</pre>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>le serveur va choisir entre <code>index.html</code>
4f372d1b10414884e2526724169d6027468ea473gryzor et <code>index.html3</code> si les deux fichiers sont pr�sents. Si aucun
4f372d1b10414884e2526724169d6027468ea473gryzor n'est pr�sent, mais <code>index.cgi</code> existe,
4f372d1b10414884e2526724169d6027468ea473gryzor le serveur l'ex�cutera.</p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>Si, parcequ'elle n'est pas reconnue par <code>mod_mime</code>,
4f372d1b10414884e2526724169d6027468ea473gryzor l'extension d'un des fichiers du r�pertoire ne permet pas de
4f372d1b10414884e2526724169d6027468ea473gryzor d�terminer son jeu de caract�res, son type de contenu, son langage, ou son
4f372d1b10414884e2526724169d6027468ea473gryzor encodage, alors
4f372d1b10414884e2526724169d6027468ea473gryzor le r�sultat d�pendra de la d�finition de la directive <code class="directive"><a href="/mod/mod_mime.html#multiviewsmatch">MultiViewsMatch</a></code>. Cette directive d�termine
4f372d1b10414884e2526724169d6027468ea473gryzor si les gestionnaires (handlers), les filtres, et autres types d'extensions
4f372d1b10414884e2526724169d6027468ea473gryzor peuvent participer � la n�gociation MultiVues.</p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
4f372d1b10414884e2526724169d6027468ea473gryzor<div class="section">
4f372d1b10414884e2526724169d6027468ea473gryzor<h2><a name="methods" id="methods">Les m�thodes de n�gociation</a></h2>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>Une fois obtenue la liste des variantes pour une ressource donn�e,
4f372d1b10414884e2526724169d6027468ea473gryzor httpd dispose de deux m�thodes pour choisir la meilleure variante �
4f372d1b10414884e2526724169d6027468ea473gryzor retourner, s'il y a lieu, soit � partir d'un fichier de
4f372d1b10414884e2526724169d6027468ea473gryzor correspondances de types, soit en se basant sur les noms de fichiers du
4f372d1b10414884e2526724169d6027468ea473gryzor r�pertoire. Il n'est pas n�cessaire de conna�tre en d�tails comment la
4f372d1b10414884e2526724169d6027468ea473gryzor n�gociation fonctionne r�ellement pour pouvoir utiliser les fonctionnalit�s
4f372d1b10414884e2526724169d6027468ea473gryzor de n�gociation de contenu de httpd. La suite de ce document explique
4f372d1b10414884e2526724169d6027468ea473gryzor cependant les m�thodes utilis�es pour ceux ou celles qui sont
4f372d1b10414884e2526724169d6027468ea473gryzor int�ress�s(�es). </p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>Il existe deux m�thodes de n�gociation :</p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <ol>
4f372d1b10414884e2526724169d6027468ea473gryzor <li><strong>La n�gociation effectu�e par le serveur selon l'algorithme
4f372d1b10414884e2526724169d6027468ea473gryzor de httpd</strong> est normalement utilis�e. l'algorithme de
4f372d1b10414884e2526724169d6027468ea473gryzor httpd est
4f372d1b10414884e2526724169d6027468ea473gryzor expliqu� plus en d�tails ci-dessous. Quand cet algorithme est utilis�,
4f372d1b10414884e2526724169d6027468ea473gryzor httpd peut parfois "bricoler" le facteur de qualit� (qs) d'une dimension
4f372d1b10414884e2526724169d6027468ea473gryzor particuli�re afin d'obtenir un meilleur r�sultat.
4f372d1b10414884e2526724169d6027468ea473gryzor La mani�re dont httpd peut modifier les facteurs de qualit� est
4f372d1b10414884e2526724169d6027468ea473gryzor expliqu�e plus en d�tails ci-dessous.</li>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <li><strong>La n�gociation de contenu transparente</strong> est utilis�e
4f372d1b10414884e2526724169d6027468ea473gryzor quand le navigateur le demande explicitement selon le m�canisme d�fini
4f372d1b10414884e2526724169d6027468ea473gryzor dans la RFC 2295. Cette m�thode de n�gociation donne au navigateur le
4f372d1b10414884e2526724169d6027468ea473gryzor contr�le total du choix de la meilleure variante; le r�sultat d�pend
4f372d1b10414884e2526724169d6027468ea473gryzor cependant de la sp�cificit� des algorithmes utilis�s par le navigateur.
4f372d1b10414884e2526724169d6027468ea473gryzor Au cours du processus de n�gociation transparente, le navigateur peut
4f372d1b10414884e2526724169d6027468ea473gryzor demander � httpd d'ex�cuter l'"algorithme de s�lection de variante �
4f372d1b10414884e2526724169d6027468ea473gryzor distance" d�fini dans la RFC 2296.</li>
4f372d1b10414884e2526724169d6027468ea473gryzor </ol>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor<h3><a name="dimensions" id="dimensions">Les dimensions de la n�gociation</a></h3>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <table>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <tr valign="top">
4f372d1b10414884e2526724169d6027468ea473gryzor <th>Dimension</th>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <th>Notes</th>
4f372d1b10414884e2526724169d6027468ea473gryzor </tr>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <tr valign="top">
4f372d1b10414884e2526724169d6027468ea473gryzor <td>Type de m�dia</td>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <td>Le navigateur affiche ses pr�f�rences � l'aide du champ d'en-t�te
4f372d1b10414884e2526724169d6027468ea473gryzor <code>Accept</code>. Chaque type de m�dia peut se voir associ� un facteur de
4f372d1b10414884e2526724169d6027468ea473gryzor qualit�. La description de la variante peut aussi avoir un facteur de
4f372d1b10414884e2526724169d6027468ea473gryzor qualit� (le param�tre "qs").</td>
4f372d1b10414884e2526724169d6027468ea473gryzor </tr>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <tr valign="top">
4f372d1b10414884e2526724169d6027468ea473gryzor <td>Langage</td>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <td>Le navigateur affiche ses pr�f�rences � l'aide du champ d'en-t�te
4f372d1b10414884e2526724169d6027468ea473gryzor <code>Accept-Language</code>. Chaque langue peut se voir associ� un facteur de
4f372d1b10414884e2526724169d6027468ea473gryzor qualit�. Les variantes peuvent �tre associ�es avec z�ro, un ou
4f372d1b10414884e2526724169d6027468ea473gryzor plusieurs langages.</td>
4f372d1b10414884e2526724169d6027468ea473gryzor </tr>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <tr valign="top">
4f372d1b10414884e2526724169d6027468ea473gryzor <td>Encoding</td>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <td>Le navigateur affiche ses pr�f�rences � l'aide du champ d'en-t�te
4f372d1b10414884e2526724169d6027468ea473gryzor <code>Accept-Encoding</code>. Chaque encodage peut se voir associ� un facteur de
4f372d1b10414884e2526724169d6027468ea473gryzor qualit�.</td>
4f372d1b10414884e2526724169d6027468ea473gryzor </tr>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <tr valign="top">
4f372d1b10414884e2526724169d6027468ea473gryzor <td>Charset</td>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <td>Le navigateur affiche ses pr�f�rences � l'aide du champ d'en-t�te
4f372d1b10414884e2526724169d6027468ea473gryzor <code>Accept-Charset</code>. Chaque jeu de caract�re peut se voir associ� un facteur de
4f372d1b10414884e2526724169d6027468ea473gryzor qualit�. Les variantes peuvent pr�ciser un jeu de caract�res comme
4f372d1b10414884e2526724169d6027468ea473gryzor param�tre du type de m�dia.</td>
4f372d1b10414884e2526724169d6027468ea473gryzor </tr>
4f372d1b10414884e2526724169d6027468ea473gryzor </table>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor<h3><a name="algorithm" id="algorithm">L'algorithme de n�gociation de
4f372d1b10414884e2526724169d6027468ea473gryzorhttpd</a></h3>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <p>httpd peut utiliser l'algorithme suivant pour choisir la "meilleure"
4f372d1b10414884e2526724169d6027468ea473gryzor variante (s'il y en a une) � retourner au navigateur. Cet algorithme n'est pas
4f372d1b10414884e2526724169d6027468ea473gryzor configurable. Il fonctionne comme suit :</p>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <ol>
4f372d1b10414884e2526724169d6027468ea473gryzor <li>En premier lieu, pour chaque dimension de la n�gociation, consulter
4f372d1b10414884e2526724169d6027468ea473gryzor le champ d'en-t�te <em>Accept*</em> appropri� et assigner une qualit� �
4f372d1b10414884e2526724169d6027468ea473gryzor chaque variante. Si l'en-t�te <em>Accept*</em> pour toute dimension
4f372d1b10414884e2526724169d6027468ea473gryzor implique que la variante n'est pas acceptable, �liminer cette derni�re.
4f372d1b10414884e2526724169d6027468ea473gryzor S'il ne reste plus de variante, aller � l'�tape 4.</li>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <li>
4f372d1b10414884e2526724169d6027468ea473gryzor Choisir la "meilleure" variante par �limination. Chacun des tests
4f372d1b10414884e2526724169d6027468ea473gryzor suivants est effectu� dans cet ordre. Toute variante non s�lectionn�e
4f372d1b10414884e2526724169d6027468ea473gryzor � l'issue d'un test est �limin�e. Apr�s chaque test, s'il reste une
4f372d1b10414884e2526724169d6027468ea473gryzor seule variante, choisir cette derni�re comme celle qui correspond le
4f372d1b10414884e2526724169d6027468ea473gryzor mieux puis aller � l'�tape 3. S'il reste plusieurs variantes, passer
4f372d1b10414884e2526724169d6027468ea473gryzor au test suivant.
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <ol>
4f372d1b10414884e2526724169d6027468ea473gryzor <li>Multiplier le facteur de qualit� de l'en-t�te
4f372d1b10414884e2526724169d6027468ea473gryzor <code>Accept</code> par le facteur de qualit� "qs" pour le type de
4f372d1b10414884e2526724169d6027468ea473gryzor m�dia de ces variantes, et choisir la variante qui poss�de la valeur
4f372d1b10414884e2526724169d6027468ea473gryzor la plus importante.</li>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <li>S�lectionner les variantes qui poss�dent le facteur de qualit�
4f372d1b10414884e2526724169d6027468ea473gryzor de langage le plus haut.</li>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <li>S�lectionner les variantes dont le langage correspond le mieux,
4f372d1b10414884e2526724169d6027468ea473gryzor en se basant sur l'ordre des langages de l'en-t�te
4f372d1b10414884e2526724169d6027468ea473gryzor <code>Accept-Language</code> (s'il existe), ou de la directive
4f372d1b10414884e2526724169d6027468ea473gryzor <code>LanguagePriority</code> (si elle existe).</li>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <li>S�lectionner les variantes poss�dant le param�tre de m�dia
4f372d1b10414884e2526724169d6027468ea473gryzor "level" le plus �lev� (utilis� pour pr�ciser la version des types de
4f372d1b10414884e2526724169d6027468ea473gryzor m�dia text/html).</li>
4f372d1b10414884e2526724169d6027468ea473gryzor
4f372d1b10414884e2526724169d6027468ea473gryzor <li>S�lectionner les variantes poss�dant le param�tre de m�dia
4f372d1b10414884e2526724169d6027468ea473gryzor "charset" (jeu de caract�res) qui correspond le mieux, en se basant
4f372d1b10414884e2526724169d6027468ea473gryzor sur la ligne d'en-t�te <code>Accept-Charset</code> . Le jeu de
4f372d1b10414884e2526724169d6027468ea473gryzor caract�res ISO-8859-1 est acceptable sauf s'il est explicitement
4f372d1b10414884e2526724169d6027468ea473gryzor exclus. Les variantes avec un type de m�dia <code>text/*</code>
mais non explicitement associ�es avec un jeu de caract�res
particulier sont suppos�es �tre en ISO-8859-1.</li>
<li>S�lectionner les variantes dont le param�tre de m�dia "charset"
associ� n'est <em>pas</em> ISO-8859-1. S'il n'en existe pas,
s�lectionner toutes les variantes.</li>
<li>S�lectionner les variantes avec le meilleur encodage. S'il existe
des variantes avec un encodage acceptable pour le client,
s�lectionner celles-ci. Sinon, s'il existe des variantes encod�es et
des variantes non encod�es, ne s�lectionner que les variantes non
encod�es. Si toutes les variantes sont encod�es ou si aucune
ne l'est, s�lectionner toutes les variantes.</li>
<li>S�lectionner les variantes dont le contenu a la longueur
la plus courte.</li>
<li>S�lectionner la premi�re des variantes restantes. Il s'agira
soit de la premi�re variante list�e dans le fichier de
correspondances de types, soit, quand les variantes sont lues depuis
le r�pertoire, la premi�re par ordre alphab�tique quand elles sont
tri�es selon le code ASCII.</li>
</ol>
</li>
<li>L'algorithme a maintenant s�lectionn� une variante consid�r�e comme
la "meilleure", il la retourne donc au client en guise de r�ponse.
L'en-t�te HTTP <code>Vary</code> de la r�ponse est renseign� de fa�on �
indiquer les dimensions de la n�gociation (les navigateurs et les caches
peuvent utiliser cette information lors de la mise en cache de la
ressource). Travail termin�.</li>
<li>Le passage par cette �tape signifie qu'aucune variante n'a �t�
s�lectionn�e (parcequ'aucune n'est acceptable pour le navigateur).
Envoyer une r�ponse avec un code de statut 406 (qui signifie "Aucune
repr�sentation acceptable") et un corps comportant un document HTML qui
affiche les variantes disponibles. Renseigner aussi l'en-t�te HTTP
<code>Vary</code> de fa�on � indiquer les dimensions de la variante.</li>
</ol>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="better" id="better">Ajustement des valeurs de qualit�</a></h2>
<p>Parfois httpd modifie les valeurs de qualit� par rapport � celles qui
d�couleraient d'une stricte interpr�tation de l'algorithme de n�gociation
de httpd ci-dessus, ceci pour am�liorer les r�sultats de l'algorithme pour
les navigateurs qui envoient des informations incompl�tes ou inappropri�es.
Certains des navigateurs les plus populaires envoient des informations dans
l'en-t�te <code>Accept</code> qui, sans ce traitement, provoqueraient la
s�lection d'une variante inappropri�e dans de nombreux cas. Quand un
navigateur envoie des informations compl�tes et correctes ces ajustements
ne sont pas effectu�s.</p>
<h3><a name="wildcards" id="wildcards">Types de m�dia et caract�res g�n�riques</a></h3>
<p>L'en-t�te de requ�te <code>Accept:</code> indique les types de m�dia
souhait�s. Il peut aussi contenir des types de m�dia avec caract�res
g�n�riques, comme "image/*" ou "*/*" o� * correspond � n'importe quelle
cha�ne de caract�res. Ainsi une requ�te contenant :</p>
<div class="example"><p><code>Accept: image/*, */*</code></p></div>
<p>indiquerait que tout type de m�dia est acceptable, avec une pr�f�rence
pour les types commen�ant par "image/".
Certains navigateurs ajoutent par d�faut des types de m�dia avec caract�res
g�n�riques aux types explicitement nomm�s qu'ils peuvent g�rer.
Par exemple :</p>
<div class="example"><p><code>
Accept: text/html, text/plain, image/gif, image/jpeg, */*
</code></p></div>
<p>Ceci indique que les types explicitement list�s sont pr�f�r�s, mais
qu'une repr�sentation avec un type diff�rent de ces derniers conviendra
aussi. Les valeurs de qualit�s explicites,
afin de pr�ciser ce que veut vraiment le navigateur, s'utilisent
comme suit :</p>
<div class="example"><p><code>
Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01
</code></p></div>
<p>Les types explicites n'ont pas de facteur de qualit�, la valeur par
d�faut de leur pr�f�rence est donc de 1.0 (la plus haute). Le type avec
caract�res g�n�riques */* se voit attribuer une pr�f�rence basse de 0.01,
si bien que les types autres que ceux explicitement list�s ne seront retourn�s
que s'il n'existe pas de variante correspondant � un type explicitement
list�.</p>
<p>Si l'en-t�te <code>Accept:</code> ne contient <em>pas</em> aucun
facteur de qualit�, httpd positionne la valeur de qualit� de
"*/*", si present, � 0.01 pour simuler l'effet d�sir�. Il positionne aussi
la valeur de qualit� des types avec caract�res g�n�riques au format
"type/*" � 0.02 (ils sont donc pr�f�r�s � ceux correspondant � "*/*"). Si
un type de m�dia dans l'en-t�te <code>Accept:</code> contient un facteur de
qualit�, ces valeurs sp�ciales ne seront <em>pas</em> appliqu�es, de fa�on
� ce que les requ�tes de navigateurs qui envoient les informations
explicites � prendre en compte fonctionnent comme souhait�.</p>
<h3><a name="exceptions" id="exceptions">Exceptions dans la n�gociation du
langage</a></h3>
<p>A partir de la version 2.0 de httpd, certaines exceptions ont �t�
ajout�es � l'algorithme de n�gociation afin de m�nager une issue de secours
quand la n�gociation ne trouve aucun langage correspondant.</p>
<p>Quand un client demande une page sur votre serveur, si ce dernier ne
parvient pas � trouver une page dont la langue corresponde � l'en-t�te
<code>Accept-language</code> envoy� par le navigateur, il enverra au client
une r�ponse "Aucune variante acceptable" ou "Plusieurs choix possibles".
Pour �viter ces
messages d'erreur, il est possible de configurer httpd de fa�on � ce que,
dans ces cas, il ignore l'en-t�te <code>Accept-language</code> et fournisse
tout de m�me un document, m�me s'il ne correspond pas exactement � la
demande explicite du client. La directive <code class="directive"><a href="/mod/mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></code>
peut �tre utilis�e pour �viter ces messages d'erreur et leur substituer une
page dont le langage sera d�termin� en fonction du contenu de la directive
<code class="directive"><a href="/mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>.</p>
<p>Le serveur va aussi essayer d'�tendre sa recherche de correspondance aux
sous-ensembles de langages quand aucune correspondance exacte ne peut �tre
trouv�e. Par exemple, si un client demande des documents poss�dant le
langage <code>en-GB</code>, c'est � dire anglais britannique, le standard
HTTP/1.1 n'autorise normalement pas le serveur � faire correspondre cette
demande � un document dont le langage est simplement <code>en</code>.
(Notez qu'inclure <code>en-GB</code> et non <code>en</code> dans l'en-t�te
<code>Accept-Language</code> constitue une quasi-erreur de configuration,
car il est tr�s peu probable qu'un lecteur qui comprend l'anglais
britannique, ne comprenne pas l'anglais en g�n�ral. Malheureusement, de
nombreux clients ont r�ellement des configurations par d�faut de ce type.)
Cependant, si aucune autre correspondance de langage n'est possible, et que le
serveur est sur le point de retourner une erreur "Aucune variable
acceptable" ou de choisir le langage d�fini par la directive <code class="directive"><a href="/mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>, le serveur ignorera
la sp�cification du sous-ensemble de langage et associera la demande en
<code>en-GB</code> � des documents en <code>en</code>. Implicitement,
httpd ajoute le langage parent � la liste de langues accept�s par le
client avec une valeur de qualit� tr�s basse. Notez cependant que si le
client demande "en-GB; q=0.9, fr; q=0.8", et le serveur dispose de
documents estampill�s "en" et "fr", alors c'est le document "fr" qui sera
retourn�, tout ceci dans un souci de compatibilit� avec la sp�cification
HTTP/1.1 et afin de fonctionner efficacement avec les clients
correctement configur�s.</p>
<p>Pour supporter les techniques avanc�es (comme les cookies ou les chemins
d'URL sp�ciaux) afin de d�terminer le langage pr�f�r� de l'utilisateur, le
module <code class="module"><a href="/mod/mod_negotiation.html">mod_negotiation</a></code> reconna�t la
<a href="env.html">variable d'environnement</a>
<code>prefer-language</code>
depuis la version 2.0.47 de httpd. Si elle est d�finie et contient un
symbole de langage appropri�, <code class="module"><a href="/mod/mod_negotiation.html">mod_negotiation</a></code> va essayer
de s�lectionner une variante correspondante. S'il n'existe pas de telle
variante, le processus normal de n�gociation sera lanc�.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">
SetEnvIf Cookie "language=(.+)" prefer-language=$1
Header append Vary cookie
</pre>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="extensions" id="extensions">Extensions � la n�gociation de contenu
transparente</a></h2>
<p>httpd �tend le protocole de n�gociation de contenu transparente (RFC
2295) comme suit. Un nouvel �l�ment <code>{encodage ..}</code> est utilis� dans
les listes de variantes pour marquer celles qui ne sont disponibles qu'avec un
encodage de contenu sp�cifique. L'impl�mentation de l'algorithme
RVSA/1.0 (RFC 2296) est �tendue � la reconnaissance de variantes encod�es dans
la liste, et � leur utilisation en tant que variantes candidates � partir du
moment o� leur encodage satisfait au contenu de l'en-t�te de requ�te
<code>Accept-Encoding</code>. L'impl�mentation RVSA/1.0 n'arrondit pas les
facteurs de qualit� calcul�s � 5 d�cimales avant d'avoir choisi la meilleure
variante.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="naming" id="naming">Remarques � propos des liens hypertextes et des
conventions de nommage</a></h2>
<p>Si vous utilisez la n�gociation de langage, vous avez le choix entre
diff�rentes conventions de nommage, car les fichiers peuvent poss�der
plusieurs extensions, et l'ordre dans lequel ces derni�res apparaissent
est en g�n�ral sans rapport (voir la documentation sur le module <a href="mod/mod_mime.html#multipleext">mod_mime</a>
pour plus de d�tails).</p>
<p>Un fichier type poss�de une extension li�e au type MIME
(<em>par exemple</em>, <code>html</code>), mais parfois aussi une
extension li�e � l'encodage (<em>par exemple</em>, <code>gz</code>),
et bien s�r une extension li�e au langage
(<em>par exemple</em>, <code>en</code>) quand plusieurs variantes de
langage sont disponibles pour ce fichier.</p>
<p>Exemples :</p>
<ul>
<li>foo.en.html</li>
<li>foo.html.en</li>
<li>foo.en.html.gz</li>
</ul>
<p>Ci-dessous d'autres exemples de noms de fichiers avec des liens
hypertextes valides et invalides :</p>
<table class="bordered">
<tr>
<th>Nom fichier</th>
<th>lien valide</th>
<th>Lien invalide</th>
</tr>
<tr>
<td><em>foo.html.en</em></td>
<td>foo<br />
foo.html</td>
<td>-</td>
</tr>
<tr>
<td><em>foo.en.html</em></td>
<td>foo</td>
<td>foo.html</td>
</tr>
<tr>
<td><em>foo.html.en.gz</em></td>
<td>foo<br />
foo.html</td>
<td>foo.gz<br />
foo.html.gz</td>
</tr>
<tr>
<td><em>foo.en.html.gz</em></td>
<td>foo</td>
<td>foo.html<br />
foo.html.gz<br />
foo.gz</td>
</tr>
<tr>
<td><em>foo.gz.html.en</em></td>
<td>foo<br />
foo.gz<br />
foo.gz.html</td>
<td>foo.html</td>
</tr>
<tr>
<td><em>foo.html.gz.en</em></td>
<td>foo<br />
foo.html<br />
foo.html.gz</td>
<td>foo.gz</td>
</tr>
</table>
<p>En regardant la table ci-dessus, vous remarquerez qu'il est toujours
possible d'utiliser le nom de fichier sans extension dans un lien
(<em>par exemple</em>, <code>foo</code>). L'avantage est de pouvoir
dissimuler le type r�el du fichier associ� � un document et de pouvoir
le modifier
ult�rieurement, <em>par exemple</em>, de <code>html</code> �
<code>shtml</code> ou <code>cgi</code> sans avoir �
mettre � jour aucun lien.</p>
<p>Si vous souhaitez continuer � utiliser un type MIME dans vos liens
(<em>par exemple </em> <code>foo.html</code>), l'extension li�e au langage
(y compris une extension li�e � l'encodage s'il en existe une)
doit se trouver � droite de l'extension li�e au type MIME
(<em>par exemple</em>, <code>foo.html.en</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="caching" id="caching">Remarque sur la mise en cache</a></h2>
<p>Quand un cache stocke une repr�sentation, il l'associe avec l'URL de la
requ�te. Lorsque cette URL est � nouveau demand�e, le cache peut utiliser
la repr�sentation stock�e. Cependant, si la ressource est n�gociable au
niveau du serveur, il se peut que seule la premi�re variante demand�e soit
mise en cache et de ce fait, la correspondance positive du cache peut
entra�ner une r�ponse inappropri�e. Pour
�viter ceci, httpd marque par
d�faut toutes les r�ponses qui sont retourn�es apr�s une n�gociation de
contenu comme "non-cachables" par les clients HTTP/1.0. httpd supporte
aussi les fonctionnalit�s du protocole HTTP/1.1 afin de permettre la mise
en cache des r�ponses n�goci�es.</p>
<p>Pour les requ�tes en provenance d'un client compatible HTTP/1.0
(un navigateur ou un cache), la directive <code class="directive"><a href="/mod/mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></code> peut �tre utilis�e
pour permettre la mise en cache des r�ponses qui ont fait l'objet d'une
n�gociation. Cette directive peut intervenir dans la configuration au
niveau du serveur ou de l'h�te virtuel, et n'accepte aucun argument. Elle
n'a aucun effet sur les requ�tes en provenance de clients HTTP/1.1.</p>
<p>Pour les clients HTTP/1.1, httpd envoie un en-t�te de r�ponse HTTP
<code>Vary</code> afin d'indiquer les dimensions de la n�gociation pour
cette r�ponse. Les caches peuvent
utiliser cette information afin de d�terminer
si une requ�te peut �tre servie � partir de la copie locale. Pour inciter
un cache � utiliser la copie locale sans tenir compte des dimensions de la
n�gociation, d�finissez la
<a href="env.html#special">variable d'environnement</a>
<code>force-no-vary</code>.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="/en/content-negotiation.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="/fr/content-negotiation.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
<a href="/ja/content-negotiation.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="/ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="/tr/content-negotiation.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</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&amp;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/trunk/content-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 2012 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>