Commit 592573a0 authored by Jim Jagielski's avatar Jim Jagielski
Browse files

Xforms


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1835546 13f79535-47bb-0310-9956-ffa450edef68
parent 8478fa3e
Loading
Loading
Loading
Loading
+9 −10
Original line number Diff line number Diff line
@@ -26,8 +26,6 @@
<p><span>Langues Disponibles: </span><a href="./en/expr.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/expr.html" title="Franais">&nbsp;fr&nbsp;</a></p>
</div>
<div class="outofdate">Cette traduction peut tre prime. Vrifiez la version
            anglaise pour les changements rcents.</div>

    <p>Historiquement, il existe de nombreuses variantes dans la syntaxe
    des expressions permettant d'exprimer une condition dans les
@@ -210,8 +208,7 @@ listfunction ::= listfuncname "<strong>(</strong>" word "<strong>)</strong>"</pr
        <td>Le nom d'hte de l'hte distant</td></tr>
<tr><td><code>REMOTE_USER</code></td>
        <td>Le nom de l'utilisateur authentifi, s'il existe (non
	disponible  l'intrieur d'un bloc <code class="directive">&lt;If
	&gt;</code>)</td></tr>
	disponible  l'intrieur d'un bloc <code class="directive">&lt;If&gt;</code>)</td></tr>
<tr class="odd"><td><code>REMOTE_IDENT</code></td>
        <td>Le nom de l'utilisateur dfini par <code class="module"><a href="./mod/mod_ident.html">mod_ident</a></code></td></tr>
<tr><td><code>SERVER_NAME</code></td>
@@ -231,8 +228,7 @@ listfunction ::= listfuncname "<strong>(</strong>" word "<strong>)</strong>"</pr
	"<code>basic</code>")</td></tr>
<tr><td><code>CONTENT_TYPE</code></td>
        <td>Le type de contenu de la rponse (non
	disponible  l'intrieur d'un bloc <code class="directive">&lt;If
	&gt;</code>)</td></tr>
	disponible  l'intrieur d'un bloc <code class="directive">&lt;If&gt;</code>)</td></tr>
<tr class="odd"><td><code>HANDLER</code></td>
        <td>Le nom du <a href="handler.html">gestionnaire</a> qui a
	gnr la rponse</td></tr>
@@ -247,8 +243,7 @@ listfunction ::= listfuncname "<strong>(</strong>" word "<strong>)</strong>"</pr
	"<code>off</code>" dans le cas contraire</td></tr>
<tr class="odd"><td><code>REQUEST_STATUS</code></td>
        <td>Le code d'erreur HTTP de la requte (non
	disponible  l'intrieur d'un bloc <code class="directive">&lt;If
	&gt;</code>)</td></tr>
	disponible  l'intrieur d'un bloc <code class="directive">&lt;If&gt;</code>)</td></tr>
<tr><td><code>REQUEST_LOG_ID</code></td>
        <td>L'identifiant du message d'erreur associ  la requte (voir
	la directive <code class="directive"><a href="./mod/core.html#errorlogformat">ErrorLogFormat</a></code>)</td></tr>
@@ -456,10 +451,14 @@ listfunction ::= listfuncname "<strong>(</strong>" word "<strong>)</strong>"</pr
        <td>Identique  <code>req</code>, mais aucun nom d'en-tte n'est
	ajout  l'en-tte Vary</td><td /></tr>
<tr><td><code>resp</code></td>
        <td>Lit l'en-tte de rponse HTTP</td><td /></tr>
        <td>Lit l'en-tte de rponse HTTP (La plupart des en-ttes de la rponse
	ne seront pas encore dfinis pendant le traitement de la directive
	<code class="directive">&lt;If&gt;</code>)</td><td /></tr>
<tr class="odd"><td><code>reqenv</code></td>
        <td>Recherche une variable d'environnement de requte (on
	peut aussi utiliser le raccourci <code>v</code>).</td><td>ordonnancement</td></tr>
	peut aussi utiliser le raccourci <code>v</code>).
	</td>
	<td>ordonnancement</td></tr>
<tr><td><code>osenv</code></td>
        <td>Recherche une variable d'environnement du systme
	d'exploitation</td><td /></tr>
+77 −26
Original line number Diff line number Diff line
@@ -27,13 +27,11 @@
<a href="../es/howto/http2.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="../fr/howto/http2.html" title="Français">&nbsp;fr&nbsp;</a></p>
</div>
<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
            anglaise pour les changements récents.</div>

    <p>Ce document est le guide de l'utilisateur de l'implémentation de HTTP/2
    dans Apache httpd. Cette fonctionnalité en est au stade de
    <em>production</em>, et les interfaces et directives devraient
    maintenant se stabiliser.
    dans Apache httpd. Cette fonctionnalité en est au stade
    <em>de production</em>, et les interfaces et directives devraient donc être
    dorénavant relativement stables.
    </p>
  </div>
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#protocol">Le protocole HTTP/2</a></li>
@@ -44,7 +42,8 @@
<li><img alt="" src="../images/down.gif" /> <a href="#clients">Clients</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#tools">Outils efficaces pour déboguer HTTP/2</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#push">Push serveur</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../mod/mod_http2.html">mod_http2</a></li><li><a href="#comments_section">Commentaires</a></li></ul></div>
<li><img alt="" src="../images/down.gif" /> <a href="#earlyhints">Suggestions précoces</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code></li><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="protocol" id="protocol">Le protocole HTTP/2</a></h2>
@@ -101,7 +100,7 @@
<h2><a name="implementation" id="implementation">HTTP/2 dans Apache httpd</a></h2>
    
    <p>Le protocole HTTP/2 est implémenté dans Apache httpd via un module
    propre, pertinemment nommé <a href="../mod/mod_http2.html">mod_http2</a>. Ce
    propre, pertinemment nommé <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code>. Ce
    module implémente toutes les fonctionnalités décrites par la RFC 7540 et
    supporte les connexions en texte pur (http:), ou sécurisées (https:).
    La variante texte pur se nomme '<code>h2c</code>', et la variante sécurisée
@@ -114,9 +113,9 @@
<div class="section">
<h2><a name="building" id="building">Compilation de httpd avec le support de HTTP/2</a></h2>
    
    <p><a href="../mod/mod_http2.html">mod_http2</a> se base sur la bibliothèque
    <p><code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> se base sur la bibliothèque
    de <a href="https://nghttp2.org">nghttp2</a> pour son implémentation. Pour
    pouvoir compiler <code>mod_http2</code>, <code>libnghttp2</code> version
    pouvoir compiler <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code>, <code>libnghttp2</code> version
    1.2.1. ou supérieure doit être installée dans votre système.</p>
    <p>Pour déclencher la compilation de <code>mod_http2</code>, vous devez
    ajouter l'argument '<code>--enable-http2</code>' au script
@@ -129,7 +128,7 @@
    préféreront lier statiquement <code>nghttp2</code> à ce module. Pour ce
    faire, utilisez l'argument <code>--enable-nghttp2-staticlib-deps</code>.
    Cette méthode est pratiquement la même que celle utilisée pour lier
    statiquement openssl à mod_ssl.</p>
    statiquement openssl à <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>.</p>
    <p>En parlant de SSL, vous devez savoir que la plupart des navigateurs ne
    communiqueront en HTTP/2 que sur des URLs sécurisées de type
    <code>https:</code> ; votre serveur doit donc supporter SSL. Mais de plus,
@@ -142,7 +141,7 @@
    

    <p>Maintenant que vous disposez d'un binaire <code>httpd</code> compilé avec le
    module <code>mod_http2</code>, l'activation de ce dernier nécessite un
    module <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code>, l'activation de ce dernier nécessite un
    minimum de configuration supplémentaire. En premier lieu, comme pour tout
    module Apache, vous devez le charger :</p>
    <pre class="prettyprint lang-config">LoadModule http2_module modules/mod_http2.so</pre>
@@ -173,7 +172,7 @@
    <div class="note"><h3>Utilisez une chaîne d'algorithmes de chiffrement forte</h3>
    <p>La directive <code class="directive"><a href="../mod/mod_ssl.html#sslciphersuite">SSLCipherSuite</a></code> doit
    être définie avec une chaîne d'algorithmes de chiffrement TLS forte. Même si
    la version actuelle de mod_http2 n'impose pas d'algorithmes de chiffrement
    la version actuelle de <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> n'impose pas d'algorithmes de chiffrement
    particuliers, la plupart des clients le font. Faire pointer un navigateur
    vers un serveur où <code>h2</code> est activé avec une chaîne d'algorithmes
    de chiffrement inappropriée entraînera un rejet et une retrogradation vers
@@ -206,11 +205,11 @@
    <p>Avec cette directive, l'ordre des protocoles que <em>vous</em> avez
    défini devient caduque et seul l'ordre défini par le client sera pris en
    compte.</p>
    <p>Une dernière chose : les protocoles que vous définissez ne sont pas vérifiés
    quant à leurs validité ou orthographe. Vous pouvez très bien définir des
    protocoles qui n'existent pas, et il n'est donc pas nécessaire de filtrer
    les <code>Protocoles</code> avec des vérifications de type
    <code>IfModule</code>.</p>
    <p>Une dernière chose : les protocoles que vous définissez ne sont pas
    vérifiés quant à leurs validité ou orthographe. Vous pouvez très bien
    définir des protocoles qui n'existent pas, et il n'est donc pas nécessaire
    de filtrer le contenu de la directive <code class="directive"><a href="../mod/core.html#protocols">Protocols</a></code> avec des vérifications de type
    <code class="directive"><a href="../mod/core.html#ifmodule">&lt;IfModule&gt;</a></code>.</p>
    <p>Pour des conseils plus avancés à propos de la configuration, voir la <a href="../mod/mod_http2.html">Documentation de mod_http2</a>, et en particulier
    la section à propos de la <a href="../mod/mod_http2.html#dimensioning">consommation supplémentaire de
    ressources</a>, ainsi que la section expliquant comment gérer les <a href="../mod/mod_http2.html#misdirected">serveurs multiples avec certificat
@@ -221,24 +220,24 @@
    

    <p>Tous les modules multiprocessus (MPM) fournis avec httpd supportent
    HTTP/2. Cependant, si vous utilisez le MPM <code>prefork</code>, vous allez
    HTTP/2. Cependant, si vous utilisez le MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code>, vous allez
    faire face à de sévères restrictions.</p>
    <p>Avec le MPM <code>prefork</code>, <code>mod_http2</code> ne traitera
    <p>Avec le MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> ne traitera
    qu'une requête à la fois par connexion alors que les clients tels que les
    navigateurs internet envoient de nombreuses requêtes au même moment. Si
    l'une d'entre elles est longue à traiter (ou implique une longue
    interrogation), les autres requêtes seront mises en attente.</p>
    <p>Par défaut, <code>mod_http2</code> ne passe pas outre cette limitation pour
    la simple et bonne raison que le MPM <code>prefork</code> n'est aujourd'hui
    <p>Par défaut, <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> ne passe pas outre cette limitation pour
    la simple et bonne raison que le MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code> n'est aujourd'hui
    choisi que si vous exécutez des moteurs de traitement qui ne sont pas préparés
    pour le multithreading (par exemple qui se crashent lorsque plusieurs
    requêtes arrivent).</p>
    <p>Si votre plateforme et votre installation de httpd le supportent, la
    meilleur solution consiste actuellement à utiliser le MPM
    <code>event</code>.
    <code class="module"><a href="../mod/event.html">event</a></code>.
    </p>
    <p>Si vous n'avez pas d'autre choix que d'utiliser le MPM
    <code>prefork</code>, mais souhaitez tout de même traiter plusieurs requêtes
    <code class="module"><a href="../mod/prefork.html">prefork</a></code>, mais souhaitez tout de même traiter plusieurs requêtes
    simultanément, vous pouvez jouer avec la directive <code class="directive"><a href="../mod/mod_http2.html#h2minworkers">H2MinWorkers</a></code>, sans garantie que cela
    fonctionne.</p>
  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -312,7 +311,7 @@
    meilleur usage de cette fonctionnalité de HTTP/2 et tout le monde en est
    encore au stade de l'expérimentation. À ce titre, voici des conseils pour
    procéder vous-même à ces expérimentations :</p>
    <p><code>mod_http2</code> inspecte l'en-tête de la réponse et recherche les
    <p><code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> inspecte l'en-tête de la réponse et recherche les
    en-têtes <code>Link</code> sous un certain format :</p>
    <pre class="prettyprint lang-config">Link &lt;/xxx.css&gt;;rel=preload, &lt;/xxx.js&gt;; rel=preload</pre>

@@ -344,8 +343,60 @@
    un stade très expérimental.</p>
    <p>L'<a href="https://tools.ietf.org/html/draft-ruellan-http-accept-push-policy-00">
    en-tête Accept-Push-Policy</a> est un autre dispositif expérimental
    implémenté dans <code>mod_http2</code> ; il permet au client de définir pour
    implémenté dans <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> ; il permet au client de définir pour
    chaque requête quels genres de PUSHes il accepte.</p>
  

    <p>
    La fonctionnalité PUSH n'apportera pas toujours le gain de performances dans
    l'obtention de réponses aux requêtes. Vous trouverez plusieurs études sur ce
    sujet sur internet qui en expliquent les avantages et inconvénients et
    comment les particularités des clients et du réseau en influencent le
    fonctionnement. Par exemple, le seul fait que le serveur PUSHes une
    ressource n'implique pas forcément que le navigateur l'utilisera.</p>
    <p>Ce qui influence le plus la réponse PUSHed, c'est la requête qui a été
    simulée. En effet, l'URL de la requête pour un PUSH est fournie par
    l'application, mais d'où viennent les en-têtes ? Par exemple, La requête
    PUSH requiert-elle un en-tête <code>accept-language</code> et si oui, quelle
    sera sa valeur ?</p>
    <p>httpd va consulter la requête originale (celle qui a déclenché le PUSH)
    et copier les en-têtes suivants vers la requête PUSH :
    <code>user-agent</code>, <code>accept</code>, <code>accept-encoding</code>,
    <code>accept-language</code> et <code>cache-control</code>.</p>
    <p>Tous les autres en-têtes sont ignorés. Les cookies eux non plus ne seront
    pas copiés. PUSHer des ressources qui requièrent la présence d'un cookie ne
    fonctionnera pas. Ceci peut être sujet à débat, mais tant que ce ne sera pas
    clairement discuté avec les navigateurs, restons prudents et évitons
    d'exposer les cookies là où ils ne sont pas censés être visibles.</p>
  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="earlyhints" id="earlyhints">Suggestions précoces</a></h2>
    
    <p>A l'instar des ressources PUSHées, une autre méthode consiste à envoyer
    des en-têtes <code>Link</code> au client avant même que la réponse ne soit
    prête. Cette méthode utilise la fonctionnalité appelée "Suggestions
    précoces" (Early Hints) décrite dans la <a href="https://tools.ietf.org/html/rfc8297">RFC 8297</a>.</p>
    <p>Pour utiliser cette fonctionnalité, vous devez l'activer explicitement
    sur le serveur via :</p>
    <pre class="prettyprint lang-config">H2EarlyHints on</pre>

    <p>Elle n'est en effet pas activée par défaut car certains navigateurs
    anciens perdent pied avec de telles réponses.</p>
    <p>Une fois cette fonctionnalité activée, vous pouvez utiliser la directive
    <code class="directive"><a href="../mod/mod_http2.html#h2pushresource">H2PushResource</a></code> pour déclencher les
    suggestions précoces et les PUSHes de ressources :</p>
    <pre class="prettyprint lang-config">&lt;Location /xxx.html&gt;
    H2PushResource /xxx.css
    H2PushResource /xxx.js
&lt;/Location&gt;</pre>

    <p>Le serveur enverra alors au client une réponse <code>"103 Early
    Hints"</code> dès qu'il <em>commencera</em> à traiter la requête. Selon
    votre application web, cet envoi peut intervenir beaucoup plus tôt que le
    moment où les premiers en-têtes de réponse auront été déterminés.</p>
    <p>Si <code class="directive"><a href="../mod/mod_http2.html#h2push">H2Push</a></code> est activé, ceci
    déclenchera aussi le PUSH juste après la réponse 103. Mais si <code class="directive"><a href="../mod/mod_http2.html#h2push">H2Push</a></code> n'est pas activé, la réponse 103 sera
    quand-même envoyée au client.</p>
    </div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/howto/http2.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+1 −0
Original line number Diff line number Diff line
@@ -1665,6 +1665,7 @@ if file exists at startup</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;IfFile [!]<var>parameter-name</var>&gt; ...
    &lt;/IfFile&gt;</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Kompatibilitt:</a></th><td>Available in 2.4.34 and later.</td></tr>
+1 −0
Original line number Diff line number Diff line
@@ -1895,6 +1895,7 @@ if file exists at startup</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>&lt;IfFile [!]<var>parameter-name</var>&gt; ...
    &lt;/IfFile&gt;</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directorio, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Prevalece sobre:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Mdulo:</a></th><td>core</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in 2.4.34 and later.</td></tr>
+0 −2
Original line number Diff line number Diff line
@@ -33,8 +33,6 @@
<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Trke">&nbsp;tr&nbsp;</a></p>
</div>
<div class="outofdate">Cette traduction peut tre prime. Vrifiez la version
            anglaise pour les changements rcents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fonctionnalits de base du serveur HTTP Apache toujours
disponibles</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Core</td></tr></table>
Loading