807b40179e949c415c3b31fd2049e6d6499dbc14gryzor<?xml version="1.0" encoding="ISO-8859-1" ?>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
d411ae5616e929e32c8e350e12d8517057f3416cgryzor<?xml-stylesheet type="text/xsl" href="/style/manual.fr.xsl"?>
0a05fab9aadd37834734ffe106fc8ad4488fb3e3rbowen<!-- English Revision: 1590372:1673947 (outdated) -->
d411ae5616e929e32c8e350e12d8517057f3416cgryzor<!-- French translation : Lucien GENTIS -->
d411ae5616e929e32c8e350e12d8517057f3416cgryzor<!-- Reviewed by : Vincent Deffontaines -->
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor<!--
d411ae5616e929e32c8e350e12d8517057f3416cgryzor Licensed to the Apache Software Foundation (ASF) under one or more
d411ae5616e929e32c8e350e12d8517057f3416cgryzor contributor license agreements. See the NOTICE file distributed with
d411ae5616e929e32c8e350e12d8517057f3416cgryzor this work for additional information regarding copyright ownership.
d411ae5616e929e32c8e350e12d8517057f3416cgryzor The ASF licenses this file to You under the Apache License, Version 2.0
d411ae5616e929e32c8e350e12d8517057f3416cgryzor (the "License"); you may not use this file except in compliance with
d411ae5616e929e32c8e350e12d8517057f3416cgryzor the License. You may obtain a copy of the License at
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor http://www.apache.org/licenses/LICENSE-2.0
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor Unless required by applicable law or agreed to in writing, software
d411ae5616e929e32c8e350e12d8517057f3416cgryzor distributed under the License is distributed on an "AS IS" BASIS,
d411ae5616e929e32c8e350e12d8517057f3416cgryzor WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
d411ae5616e929e32c8e350e12d8517057f3416cgryzor See the License for the specific language governing permissions and
d411ae5616e929e32c8e350e12d8517057f3416cgryzor limitations under the License.
d411ae5616e929e32c8e350e12d8517057f3416cgryzor-->
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor<manualpage metafile="compliance.xml.meta">
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <title>Conformit&eacute; au protocole HTTP</title>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <summary>
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Ce document d&eacute;crit le m&eacute;canisme utilis&eacute; pour d&eacute;finir une
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor politique de conformit&eacute; au protocole HTTP pour un espace d'URL au
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor niveau des serveurs d'origine ou des application sous-jacentes &agrave; cet
d411ae5616e929e32c8e350e12d8517057f3416cgryzor espace d'URL.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Chaque politique de conformit&eacute; est d&eacute;crite ci-dessous &agrave;
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor destination de tous ceux qui ont re&ccedil;u un message d'erreur suite &agrave; un
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor rejet en provenance d'une politique, et ont donc besoin de savoir &agrave;
d411ae5616e929e32c8e350e12d8517057f3416cgryzor quoi est du ce rejet et ce qu'ils doivent faire pour corriger
d411ae5616e929e32c8e350e12d8517057f3416cgryzor l'erreur.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </summary>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <seealso><a href="filter.html">Filtres</a></seealso>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <section id="intro">
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <title>Imposer la conformit&eacute; au protocole HTTP dans Apache 2</title>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <related>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <modulelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <module>mod_policy</module>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </modulelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directivelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directive module="mod_policy">PolicyConditional</directive>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directive module="mod_policy">PolicyLength</directive>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directive module="mod_policy">PolicyKeepalive</directive>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directive module="mod_policy">PolicyType</directive>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directive module="mod_policy">PolicyVary</directive>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directive module="mod_policy">PolicyValidation</directive>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directive module="mod_policy">PolicyNocache</directive>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directive module="mod_policy">PolicyMaxage</directive>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directive module="mod_policy">PolicyVersion</directive>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </directivelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </related>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <p>Le protocole HTTP applique le <strong>principe de
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor robustesse</strong> d&eacute;crit dans la <a
d411ae5616e929e32c8e350e12d8517057f3416cgryzor href="http://tools.ietf.org/html/rfc1122">RFC1122</a>, et stipulant
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <strong>"Soyez lib&eacute;ral pour ce que vous acceptez, conservateur pour
d411ae5616e929e32c8e350e12d8517057f3416cgryzor ce que vous envoyez"</strong>. Selon ce principe, les clients HTTP
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor vont compenser en corrigeant les r&eacute;ponses incorrectes ou mal
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor configur&eacute;es, ou ne pouvant pas &ecirc;tre mises en cache.</p>
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Comme un site web est configur&eacute; pour faire face &agrave; un trafic
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor toujours grandissant, des applications mal configur&eacute;es ou non
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor optimis&eacute;es ou certaines configurations de serveur peuvent menacer la stabilit&eacute;
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor et l'&eacute;volutivit&eacute; du site web, ainsi que les co&ucirc;ts d'h&eacute;bergement qui
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor y sont associ&eacute;s. L'&eacute;volution d'un site web pour faire face &agrave; une
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor complexit&eacute; croissante de sa configuration accro&icirc;t les
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor difficult&eacute;s rencontr&eacute;es pour d&eacute;tecter et enregistrer les espaces
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor d'URL mal configur&eacute;s pour un serveur donn&eacute;.</p>
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>De ce fait, un point peut &ecirc;tre atteint o&ugrave; le principe
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor "conservateur pour ce que vous envoyez" doit &ecirc;tre impos&eacute; par
d411ae5616e929e32c8e350e12d8517057f3416cgryzor l'administrateur du serveur.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <p>Le module <module>mod_policy</module> fournit un jeu de filtres
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor qui peuvent &ecirc;tre appliqu&eacute;s &agrave; un serveur, permettant de tester
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor explicitement les points cl&eacute; du protocle HTTP, et de journaliser en
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor tant qu'avertissements les r&eacute;ponses non conformes, ou m&ecirc;me de
d411ae5616e929e32c8e350e12d8517057f3416cgryzor simplement les rejeter avec un code d'erreur. Chaque filtre peut
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor &ecirc;tre appliqu&eacute; s&eacute;par&eacute;ment, permettant &agrave; l'administrateur de choisir
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor quelles politiques de conformit&eacute; doivent &ecirc;tre impos&eacute;es en fonction
d411ae5616e929e32c8e350e12d8517057f3416cgryzor de l'environnement.
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Les filtres peuvent &ecirc;tre mis en place dans des environnements de
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor test ou de simulation &agrave; destination des d&eacute;veloppeurs d'applications
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor et de sites web, ou s'appliquer &agrave; des serveurs en production pour
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor prot&eacute;ger l'infrastructure de syst&egrave;mes en dehors du contr&ocirc;le direct
d411ae5616e929e32c8e350e12d8517057f3416cgryzor de l'administrateur.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <p class="figure">
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <img src="images/compliance-reverse-proxy.png" width="666" height="239" alt=
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor "Imposer la conformit&eacute; au protocole HTTP pour un serveur
d411ae5616e929e32c8e350e12d8517057f3416cgryzor d'applications"/>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Dans l'exemple ci-dessus, un serveur Apache httpd a &eacute;t&eacute; intercal&eacute;
d411ae5616e929e32c8e350e12d8517057f3416cgryzor entre le serveur d'applications et l'internet au sens large, et
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor configur&eacute; pour mettre en cache les r&eacute;ponses en provenance du serveur
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor d'applications. Les filtres de <module>mod_policy</module> ont &eacute;t&eacute;
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor ajout&eacute;s pour imposer le support de la mise en cache de contenu et
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor des requ&ecirc;tes conditionnelles, assurant ainsi que
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <module>mod_cache</module> et les caches publics de l'internet
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor seront pleinement capables de mettre en cache le contenu cr&eacute;&eacute; avec
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor efficacit&eacute; par le serveur d'applications.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <p class="figure">
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <img src="images/compliance-static.png" width="469" height="239" alt=
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor "Imposer la conformit&eacute; au protocole HTTP pour un serveur statique"/>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <p>Dans l'exemple plus simple ci-dessus, un serveur statique qui
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor sert du contenu ayant une forte probabilit&eacute; d'&ecirc;tre mis en cache,
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor se voit appliqu&eacute; un jeu de r&egrave;gles afin de
d411ae5616e929e32c8e350e12d8517057f3416cgryzor s'assurer que sa configuration respecte un niveau minimum de
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor conformit&eacute; au protocole HTTP.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </section>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <section id="policyconditional">
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <title>Politique des requ&ecirc;tes conditionnelles</title>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <related>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <modulelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <module>mod_policy</module>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </modulelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directivelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directive module="mod_policy">PolicyConditional</directive>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </directivelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </related>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Cette politique sera rejet&eacute;e si le serveur ne r&eacute;pond pas &agrave; une
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor requ&ecirc;te conditionnelle avec le code d'&eacute;tat appropri&eacute;. </p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>C'est gr&acirc;ce aux requ&ecirc;tes conditionnelles qu'un cache HTTP peut
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor rafra&icirc;chir un contenu p&eacute;rim&eacute;, et en particulier dans le cas des
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor contenus &agrave; dur&eacute;e de validit&eacute; courte, l'absence de support des
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor requ&ecirc;tes conditionnelles peut augmenter la charge du serveur.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Plus particuli&egrave;rement, la pr&eacute;sence d'une des en-t&ecirc;tes suivantes
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor dans la requ&ecirc;te rend cette derni&egrave;re conditionnelle :</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <dl>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <dt><code>If-Match</code></dt>
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <dd>Si l'ETag fourni dans l'en-t&ecirc;te <code>If-Match</code> ne
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor correspond pas &agrave; l'ETag de la r&eacute;ponse, le serveur doit renvoyer un
d411ae5616e929e32c8e350e12d8517057f3416cgryzor code d'erreur <code>412 Precondition Failed</code>. Vous trouverez
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor tous les d&eacute;tails du traitement d'un en-t&ecirc;te <code>If-Match</code>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor dans la <a
d411ae5616e929e32c8e350e12d8517057f3416cgryzor href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.24">RFC2616
d411ae5616e929e32c8e350e12d8517057f3416cgryzor section 14.24</a>.</dd>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <dt><code>If-None-Match</code></dt>
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <dd>Si l'ETag fourni dans l'en-t&ecirc;te <code>If-None-Match</code>
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor correspond &agrave; l'ETag de la r&eacute;ponse, le serveur doit renvoyer soit
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <code>304 Not Modified</code> pour les requ&ecirc;tes GET/HEAD, soit
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <code>412 Precondition Failed</code> pour les autres m&eacute;thodes. Vous trouverez
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor tous les d&eacute;tails du traitement d'un en-t&ecirc;te
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <code>If-None-Match</code> dans la <a
d411ae5616e929e32c8e350e12d8517057f3416cgryzor href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.26">RFC2616
d411ae5616e929e32c8e350e12d8517057f3416cgryzor section 14.26</a>.</dd>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <dt><code>If-Modified-Since</code></dt>
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <dd>Si la date fournie dans l'en-t&ecirc;te <code>If-Modified-Since</code>
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor est plus ancienne que celle de l'en-t&ecirc;te <code>Last-Modified</code>
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor de la r&eacute;ponse, le serveur doit renvoyer <code>304 Not Modified</code>. Vous trouverez
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor tous les d&eacute;tails du traitement d'un en-t&ecirc;te
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <code>If-Modified-Since</code> dans la <a
d411ae5616e929e32c8e350e12d8517057f3416cgryzor href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.25">RFC2616
d411ae5616e929e32c8e350e12d8517057f3416cgryzor section 14.25</a>.</dd>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <dt><code>If-Unmodified-Since</code></dt>
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <dd>Si la date fournie dans l'en-t&ecirc;te
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <code>If-Unmodified-Since</code> est plus r&eacute;cente que celle de
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor l'en-t&ecirc;te <code>Last-Modified</code> de la r&eacute;ponse, le serveur doit
d411ae5616e929e32c8e350e12d8517057f3416cgryzor renvoyer <code>412 Precondition Failed</code>. Vous trouverez
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor tous les d&eacute;tails du traitement d'un en-t&ecirc;te
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <code>If-Unmodified-Since</code> dans la <a
d411ae5616e929e32c8e350e12d8517057f3416cgryzor href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.28">RFC2616
d411ae5616e929e32c8e350e12d8517057f3416cgryzor section 14.28</a>.</dd>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <dt><code>If-Range</code></dt>
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <dd>Si l'ETag fourni dans l'en-t&ecirc;te <code>If-Range</code> correspond
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor &agrave; l'ETag ou &agrave; l'en-t&ecirc;te Last-Modified de la r&eacute;ponse, et si un
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor en-t&ecirc;te <code>Range</code> valide est pr&eacute;sent, le serveur doit
d411ae5616e929e32c8e350e12d8517057f3416cgryzor renvoyer <code>206 Partial Response</code>. Vous trouverez
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor tous les d&eacute;tails du traitement d'un en-t&ecirc;te <code>If-Range</code>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor dans la <a
d411ae5616e929e32c8e350e12d8517057f3416cgryzor href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.27">RFC2616
d411ae5616e929e32c8e350e12d8517057f3416cgryzor section 14.27</a>.</dd>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </dl>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Si la r&eacute;ponse est consid&eacute;r&eacute;e comme ayant r&eacute;ussi (une r&eacute;ponse
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor 2xx), alors qu'elle &eacute;tait conditionnelle et qu'une des r&eacute;ponses
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor ci-dessus &eacute;tait attendue &agrave; la place, cette politique sera rejet&eacute;e.
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor Les r&eacute;ponses qui indiquent une redirection ou une erreur de toute
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor sorte (3xx, 4xx, 5xx) seront ignor&eacute;es de cette politique.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Cette politique est impl&eacute;ment&eacute;e par le filtre
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <strong>POLICY_CONDITIONAL</strong>.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </section>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <section id="policylength">
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <title>Politique de gestion de l'en-t&ecirc;te Content-Length</title>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <related>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <modulelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <module>mod_policy</module>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </modulelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directivelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directive module="mod_policy">PolicyLength</directive>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </directivelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </related>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Cette politique sera rejet&eacute;e si la r&eacute;ponse du serveur ne contient pas d'en-t&ecirc;te
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <code>Content-Length</code> explicite.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>De nombreuses m&eacute;thodes pour d&eacute;terminer la taille d'un
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor corps de r&eacute;ponse sont d&eacute;crites dans la <a
4d239fe66e915d2ef73a95c0620f6b3a9f068b64lgentis href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.4">RFC2616
d411ae5616e929e32c8e350e12d8517057f3416cgryzor section 4.4 Message Length</a>.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Lorsque l'en-t&ecirc;te <code>Content-Length</code> est pr&eacute;sente, la
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor taille du corps est d&eacute;clar&eacute;e au d&eacute;but de la r&eacute;ponse. Si cette
d411ae5616e929e32c8e350e12d8517057f3416cgryzor information est manquante, un cache HTTP pourrait choisir d'ignorer
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor la r&eacute;ponse, car il ne pourrait pas d&eacute;terminer a priori si la r&eacute;ponse
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor reste dans les limites d&eacute;finies du cache.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Pour indiquer la fin de la r&eacute;ponse au client sans que ce dernier
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor ait &agrave; en conna&icirc;tre la taille au pr&eacute;alable, HTTP/1.1 propose
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor l'en-t&ecirc;te <code>Transfer-Encoding</code> comme une alternative &agrave;
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <code>Content-Length</code>. Cependant, lors du traitement de
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor requ&ecirc;tes HTTP/1.0, et si l'en-t&ecirc;te <code>Content-Length</code> est
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor absente, le seul m&eacute;canisme dont dispose le serveur pour indiquer la
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor fin de la requ&ecirc;te consiste &agrave; couper la connexion. Dans un
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor environnement contenant des r&eacute;partiteurs de charge, cela peut
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor court-circuiter le m&eacute;canisme des connexions persistantes
d411ae5616e929e32c8e350e12d8517057f3416cgryzor (keepalive).
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Si la r&eacute;ponse est consid&eacute;r&eacute;e comme r&eacute;ussie (une r&eacute;ponse 2xx) et
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor poss&egrave;de un corps (ce qui exclut les r&eacute;ponses <code>204 No
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor Content</code>), et si l'en-t&ecirc;te <code>Content-Length</code> est
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor absente, la r&eacute;ponse sera rejet&eacute;e. Aucune r&eacute;ponse indiquant une
d411ae5616e929e32c8e350e12d8517057f3416cgryzor redirection ou une erreur de toute nature (3xx, 4xx, 5xx) n'est
d411ae5616e929e32c8e350e12d8517057f3416cgryzor prise en compte par cette politique.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <note type="warning">Notez que certains modules comme
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <module>mod_proxy</module> ajoutent leur propre en-t&ecirc;te
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <code>Content-Length</code> sous r&eacute;serve que la r&eacute;ponse o&ugrave; cette
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor en-t&ecirc;te est absente soit suffisamment courte pour que le module ait
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor pu la lire en une seule passe. De ce fait, des r&eacute;ponses courtes pourront
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor &ecirc;tre accept&eacute;es par la politique, alors que d'autres plus longues
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor seront rejet&eacute;es pour la m&ecirc;me URL.</note>
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Cette politique est impl&eacute;ment&eacute;e par le filtre
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <strong>POLICY_LENGTH</strong>.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </section>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <section id="policytype">
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <title>Politique de filtrage de l'en-t&ecirc;te Content-Type</title>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <related>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <modulelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <module>mod_policy</module>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </modulelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directivelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directive module="mod_policy">PolicyType</directive>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </directivelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </related>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Cette politique sera rejet&eacute;e si la r&eacute;ponse du serveur ne contient pas d'en-t&ecirc;te
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <code>Content-Type</code> explicite et valide du point de vue de la
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor syntaxe, correspondant au mod&egrave;le d&eacute;fini par le serveur.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Le type de media du corps est plac&eacute; dans une en-t&ecirc;te
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <code>Content-Type</code> dont le format est d&eacute;crit en d&eacute;tail dans
4d239fe66e915d2ef73a95c0620f6b3a9f068b64lgentis la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.7">
d411ae5616e929e32c8e350e12d8517057f3416cgryzor RFC2616 section 3.7 Media Types</a>.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Une en-t&ecirc;te <code>Content-Type</code> dont la syntaxe est valide
d411ae5616e929e32c8e350e12d8517057f3416cgryzor sera du style :</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <example>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor Content-Type: text/html; charset=iso-8859-1
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </example>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Exemples d'en-t&ecirc;tes <code>Content-Type</code> non valides :</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <example>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor # invalide<br />
d411ae5616e929e32c8e350e12d8517057f3416cgryzor Content-Type: foo<br />
d411ae5616e929e32c8e350e12d8517057f3416cgryzor # vide<br />
d411ae5616e929e32c8e350e12d8517057f3416cgryzor Content-Type:
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </example>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>L'administrateur peut restreindre la politique &agrave; un ou plusieurs
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor types sp&eacute;cifiques, ou utiliser des caract&egrave;res g&eacute;n&eacute;riques comme
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <code>*/*</code>.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <p>Cette politique est mise en oeuvre par le filtre
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <strong>POLICY_TYPE</strong>.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </section>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <section id="policykeepalive">
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <title>Politique de gestion des connexions persistantes (Keepalive)</title>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <related>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <modulelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <module>mod_policy</module>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </modulelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directivelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directive module="mod_policy">PolicyKeepalive</directive>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </directivelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </related>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Cette politique era rejet&eacute;e si la r&eacute;ponse du serveur ne contient pas d'en-t&ecirc;te
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <code>Content-Length</code> explicite, ou d'en-t&ecirc;te
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <code>Transfer-Encoding</code> d&eacute;fini &agrave; chunked.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>De nombreuses mani&egrave;res pour d&eacute;terminer la taille d'un
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor corps de r&eacute;ponse sont d&eacute;crites dans la <a
4d239fe66e915d2ef73a95c0620f6b3a9f068b64lgentis href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.4">RFC2616
d411ae5616e929e32c8e350e12d8517057f3416cgryzor section 4.4 Message Length</a>.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Pour indiquer la fin de la r&eacute;ponse au client sans que ce dernier
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor ait &agrave; en conna&icirc;tre la taille au pr&eacute;alable, HTTP/1.1 propose
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor l'en-t&ecirc;te <code>Transfer-Encoding</code> comme une alternative &agrave;
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <code>Content-Length</code>. Cependant, lors du traitement de
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor requ&ecirc;tes HTTP/1.0, et si l'en-t&ecirc;te <code>Content-Length</code> est
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor absent, le seul m&eacute;canisme dont dispose le serveur pour indiquer la
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor fin de la requ&ecirc;te consiste &agrave; couper la connexion. Dans un
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor environnement contenant des r&eacute;partiteurs de charge, cela peut
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor court-circuiter le m&eacute;canisme des connexions persistantes
d411ae5616e929e32c8e350e12d8517057f3416cgryzor (keepalive).
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>En particulier, les r&egrave;gles suivantes sont appliqu&eacute;es : </p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <dl>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <dt>Si</dt>
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <dd>cette connexion n'est pas marqu&eacute;e en erreur ;</dd>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <dt>et</dt>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <dd>le client n'attend pas 100-continue ;</dd>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <dt>et</dt>
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <dd>le code de statut de la r&eacute;ponse ne n&eacute;cessite pas de fermeture de connexion ;</dd>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <dt>et</dt>
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <dd>le corps de la r&eacute;ponse a une taille d&eacute;finie suite au code de
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor statut 304 ou 204, la m&eacute;thode de requ&ecirc;te est HEAD, un en-t&ecirc;te
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor Content-Length ou Transfer-Encoding: chunked a d&eacute;j&agrave; &eacute;t&eacute; d&eacute;fini, ou
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor la requ&ecirc;te est de type HTTP/1.1 et peut donc &ecirc;tre d&eacute;finie &agrave; chunked.</dd>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <dt>alors</dt>
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <dd>keepalive est support&eacute;.</dd>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </dl>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <note type="warning">Le serveur peut d&eacute;cider de d&eacute;sactiver les
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor connexions persistantes pour de nombreuses raisons, comme un arr&ecirc;t
d411ae5616e929e32c8e350e12d8517057f3416cgryzor imminent, un Connection: close en provenance du client, ou une
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor requ&ecirc;te client de type HTTP/1.0 dont la r&eacute;ponse ne comporte pas
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor d'en-t&ecirc;te <code>Content-Length</code>, mais pour ce qui nous
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor concerne, nous ne v&eacute;rifions que la possibilit&eacute; des connexions
d411ae5616e929e32c8e350e12d8517057f3416cgryzor persistantes depuis l'application, et non si les connexions
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor persistantes sont activ&eacute;es.</note>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <p>Notez aussi que le serveur HTTP Apache propose un filtre qui
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor ajoute un codage chunked aux r&eacute;ponses qui ne contiennent pas
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor d'en-t&ecirc;te <code>Content-Length</code> explicite. Cette politique
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor prend en compte les cas o&ugrave; le filtre est court-circuit&eacute; ou
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor d&eacute;sactiv&eacute;.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Cette politique est impl&eacute;ment&eacute;e par le filtre
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <strong>POLICY_KEEPALIVE</strong>.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </section>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <section id="policymaxage">
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <title>Dur&eacute;e de fra&icirc;cheur / Politique de gestion de l'&acirc;ge maximum</title>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <related>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <modulelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <module>mod_policy</module>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </modulelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directivelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directive module="mod_policy">PolicyMaxage</directive>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </directivelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </related>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Cette politique se verra rejet&eacute;e si la r&eacute;ponse du serveur ne
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor contient pas de <strong>dur&eacute;e de fra&icirc;cheur</strong> explicite au
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor moins grande que la limite d&eacute;finie par le serveur, ou si la
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor dur&eacute;e de fra&icirc;cheur est calcul&eacute;e &agrave; partir d'une heuristique.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Vous trouverez tous les d&eacute;tails &agrave; propos du calcul d'une dur&eacute;e de
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor fra&icirc;cheur dans la <a
4d239fe66e915d2ef73a95c0620f6b3a9f068b64lgentis href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.2">RFC2616
d411ae5616e929e32c8e350e12d8517057f3416cgryzor section 13.2 Expiration Model</a>.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Pendant la dur&eacute;e de fra&icirc;cheur, un cache n'a pas besoin de
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor contacter le serveur original, et il peut renvoyer le contenu situ&eacute;
d411ae5616e929e32c8e350e12d8517057f3416cgryzor dans le cache tel quel au client.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Lorsque la date de p&eacute;remption est atteinte, le cache doit
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor contacter le serveur original dans le but de v&eacute;rifier si le contenu
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor situ&eacute; dans le cache est encore &agrave; jour, et si ce n'est pas le cas, de
d411ae5616e929e32c8e350e12d8517057f3416cgryzor le remplacer par le contenu correspondant sur le serveur original.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Lorsque la dur&eacute;e de fra&icirc;cheur est trop courte, il peut en
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor r&eacute;sulter un exc&egrave;s de charge pour le serveur. De plus, si une
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor interruption de service survient, et si cette derni&egrave;re est longue,
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor ou plus longue que la dur&eacute;e de fra&icirc;cheur, tout le contenu du cache
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor s'en trouvera p&eacute;rim&eacute;, ce qui causera un trafic tr&egrave;s important
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor lorsque le serveur ou le r&eacute;seau sera r&eacute;tabli.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Cette politique est impl&eacute;ment&eacute;e par le filtre
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <strong>POLICY_MAXAGE</strong>.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </section>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <section id="policynocache">
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <title>Politique de gestion des contenus qui ne peuvent pas &ecirc;tre mis
d411ae5616e929e32c8e350e12d8517057f3416cgryzor en cache</title>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <related>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <modulelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <module>mod_policy</module>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </modulelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directivelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directive module="mod_policy">PolicyNocache</directive>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </directivelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </related>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Cette politique sera rejet&eacute;e si la r&eacute;ponse du serveur
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor d&eacute;clare elle-m&ecirc;me qu'elle ne doit pas &ecirc;tre mise en cache &agrave; l'aide
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor d'un en-t&ecirc;te <code>Cache-Control</code> ou <code>Pragma</code>.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Vous trouverez tous les d&eacute;tails &agrave; propos de la mani&egrave;re dont un
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor contenu peut &ecirc;tre d&eacute;clar&eacute; comme non cachable dans la <a
d411ae5616e929e32c8e350e12d8517057f3416cgryzor href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.1">RFC2616
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor section 14.9.1 What is Cacheable</a>, et au sein de la d&eacute;finition de
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor l'en-t&ecirc;te <code>Pragma</code> dans la <a
d411ae5616e929e32c8e350e12d8517057f3416cgryzor href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32">RFC2616
d411ae5616e929e32c8e350e12d8517057f3416cgryzor section 14.32 Pragma</a>.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Plus pr&eacute;cis&eacute;ment, si une combinaison des en-t&ecirc;tes suivants existe
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor dans la r&eacute;ponse, cette derni&egrave;re sera rejet&eacute;e :</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <ul>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <li><code>Cache-Control: no-cache</code></li>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <li><code>Cache-Control: no-store</code></li>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <li><code>Cache-Control: private</code></li>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <li><code>Pragma: no-cache</code></li>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </ul>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>D'une mani&egrave;re g&eacute;n&eacute;rale, lorsque cette politique est activ&eacute;e, et
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor si d'une mani&egrave;re inattendue un contenu non cachable peut induire un
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor niveau de charge du serveur inacceptable, tout contenu d&eacute;fini comme
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor non cachable par le serveur sera rejet&eacute;.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Cette politique est impl&eacute;ment&eacute;e par le filtre
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <strong>POLICY_NOCACHE</strong>.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </section>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <section id="policyvalidation">
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <title>Politique de validation</title>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <related>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <modulelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <module>mod_policy</module>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </modulelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directivelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directive module="mod_policy">PolicyValidation</directive>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </directivelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </related>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Cette politique sera rejet&eacute;e si la r&eacute;ponse du serveur
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor ne contient aucune en-t&ecirc;te syntaxiquement correct <code>ETag</code>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor ou <code>Last-Modified</code>.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Vous trouverez une description compl&egrave;te de l'en-t&ecirc;te
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <code>ETag</code> dans la <a
d411ae5616e929e32c8e350e12d8517057f3416cgryzor href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.19">RFC2616
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor section 14.19 Etag</a>, et de l'en-t&ecirc;te <code>Last-Modified</code>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor dans la <a
d411ae5616e929e32c8e350e12d8517057f3416cgryzor href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.29">RFC2616
d411ae5616e929e32c8e350e12d8517057f3416cgryzor section 14.29 Last-Modified</a>.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>La v&eacute;rification est effectu&eacute;e non seulement en ce qui concerne la
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor pr&eacute;sence des en-t&ecirc;tes, mais aussi du point de vue de leur syntaxe.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Si une en-t&ecirc;te <code>ETag</code> n'est pas entour&eacute;e de guillemets,
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor ou n'est pas d&eacute;clar&eacute;e "weak" en le pr&eacute;fixant avec un "W/", la politique
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor sera rejet&eacute;e. De m&ecirc;me, si l'interpr&eacute;tation d'une en-t&ecirc;te
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <code>Last-Modified</code> ne fournit pas de date valide, la r&eacute;ponse
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor sera rejet&eacute;e.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Cette politique est impl&eacute;ment&eacute;e par le filtre
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <strong>POLICY_VALIDATION</strong>.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </section>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <section id="policyvary">
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <title>Politique de gestion de l'en-t&ecirc;te Vary</title>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <related>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <modulelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <module>mod_policy</module>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </modulelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directivelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directive module="mod_policy">PolicyVary</directive>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </directivelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </related>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Cette politique se verra rejet&eacute;e si la r&eacute;ponse du serveur
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor contient une en-t&ecirc;te <code>Vary</code>, et si cette en-t&ecirc;te
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor contient &agrave; son tour une en-t&ecirc;te mise en liste noire par
d411ae5616e929e32c8e350e12d8517057f3416cgryzor l'administrateur.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>L'en-t&ecirc;te <code>Vary</code> est d&eacute;crite en d&eacute;tails dans la <a
d411ae5616e929e32c8e350e12d8517057f3416cgryzor href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.44">RFC2616
d411ae5616e929e32c8e350e12d8517057f3416cgryzor section 14.44 Vary</a>.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Certaines en-t&ecirc;tes d&eacute;finies par les clients, comme
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <code>User-Agent</code>, peuvent contenir des milliers ou m&ecirc;me des
d411ae5616e929e32c8e350e12d8517057f3416cgryzor millions de combinaisons de valeurs au cours du temps, et si la
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor r&eacute;ponse est consid&eacute;r&eacute;e comme pouvant &ecirc;tre mise en cache, le cache
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor peut tenter d'enregistrer toutes ces r&eacute;ponses, ce qui peut l'amener
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor &agrave; saturation et &agrave; noyer les autres entr&eacute;es qu'il contient. Avec ce
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor sc&eacute;nario, cette politique sera rejet&eacute;e.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Cette politique est impl&eacute;ment&eacute;e par le filtre
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <strong>POLICY_VARY</strong>.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </section>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <section id="policyversion">
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <title>Politique de gestion des versions de protocole</title>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <related>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <modulelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <module>mod_policy</module>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </modulelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directivelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <directive module="mod_policy">PolicyVersion</directive>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </directivelist>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </related>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Cette politique sera rejet&eacute;e si la r&eacute;ponse du serveur
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor a &eacute;t&eacute; g&eacute;n&eacute;r&eacute;e avec un num&eacute;ro de version inf&eacute;rieur &agrave; la version
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor de HTTP sp&eacute;cifi&eacute;e.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Cette politique s'utilise en g&eacute;n&eacute;ral avec les applications qui
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor n&eacute;cessitent un contr&ocirc;le du type du client. Elle peut &ecirc;tre utilis&eacute;e en
d411ae5616e929e32c8e350e12d8517057f3416cgryzor concomitance avec le filtre <code>POLICY_KEEPALIVE</code> afin de
d411ae5616e929e32c8e350e12d8517057f3416cgryzor s'assurer que les clients HTTP/1.0 n'engendrent pas la fermeture des
d411ae5616e929e32c8e350e12d8517057f3416cgryzor connexions persistantes.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Les versions minimales pouvant &ecirc;tre sp&eacute;cifi&eacute;es sont :</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <ul><li><code>HTTP/1.1</code></li>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <li><code>HTTP/1.0</code></li>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <li><code>HTTP/0.9</code></li>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </ul>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
807b40179e949c415c3b31fd2049e6d6499dbc14gryzor <p>Cette politique est impl&eacute;ment&eacute;e par le filtre
d411ae5616e929e32c8e350e12d8517057f3416cgryzor <strong>POLICY_VERSON</strong>.</p>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor
d411ae5616e929e32c8e350e12d8517057f3416cgryzor </section>
d411ae5616e929e32c8e350e12d8517057f3416cgryzor</manualpage>