From: Lucien Gentis Si vous voulez limiter la compression à certains types MIME
@@ -377,42 +377,6 @@ sortie
- La directive Ajoute la méthode de compression à la fin de l'en-tête, ce
- qui a pour effet d'attribuer un en-tête ETag unique aux
- représentations compressées et non compressées. C'est l'option par
- défaut depuis la version 2.4.0, mais empêche de servir des
- codes d'état "HTTP Not Modified" (304) en réponse aux requêtes pour un
- contenu compressé. Ne modifie pas l'en-tête ETag dans une réponse compressée.
- C'était l'option par
- défaut avant la version 2.4.0, mais cela ne respectait pas la
- préconisation HTTP/1.1 selon laquelle chaque représentation de la
- même ressource doit posséder un en-tête ETag unique. Supprime l'en-tête ETag dans les réponses compressées, ce qui
- a pour effet de rendre impossibles certaines requêtes
- conditionnelles, mais permet d'éviter les inconvénients des options
- précédentes. La directive Ajoute la méthode de compression à la fin de l'en-tête, ce
+ qui a pour effet d'attribuer un en-tête ETag unique aux
+ représentations compressées et non compressées. C'est l'option par
+ défaut depuis la version 2.4.0, mais empêche de servir des
+ codes d'état "HTTP Not Modified" (304) en réponse aux requêtes pour un
+ contenu compressé. Ne modifie pas l'en-tête ETag dans une réponse compressée.
+ C'était l'option par
+ défaut avant la version 2.4.0, mais cela ne respectait pas la
+ préconisation HTTP/1.1 selon laquelle chaque représentation de la
+ même ressource doit posséder un en-tête ETag unique. Supprime l'en-tête ETag dans les réponses compressées, ce qui
+ a pour effet de rendre impossibles certaines requêtes
+ conditionnelles, mais permet d'éviter les inconvénients des options
+ précédentes. L'argument optionnel condition permet de déterminer
sur quelle table interne d'en-têtes de réponses cette directive va
opérer : Comme il n'y a pas de liste unique "normalisée" d'en-têtes, la manière
- dont httpd stocke en interne les en-têtes des réponses HTTP est à l'origine
- de la fonctionnalité que constitue la différence entre
- Plusieurs modèles de configuration permettent de contourner ce problème,
- comme celui-ci : Outre le paramètre condition décrit ci-dessus, vous
- pouvez limiter une action en fonction de codes d'état HTTP, par
- exemple pour les requêtes mandatées ou générées par un programme
- CGI. Voir l'exemple qui utilise %{REQUEST_STATUS} dans la section
- ci-dessus. L'action que cette directive provoque est déterminée par le
- premier argument (ou par le second argument si une
- condition est spécifiée). Il peut prendre
- une des valeurs suivantes :
-
-
+
+onsuccess (valeur par défaut, peut être omis) ou
- always. A la différence de ceux de la première table, les
- en-têtes de la seconde sont ajoutés à la réponse même en cas d'erreur et
- sont conservés au fil des redirections internes (par exemple les
- gestionnaires ErrorDocument). Notez aussi que la répétition
- de cette directive avec les deux conditions peut être pertinente
- dans certains scénarios, car always n'englobe pas
- onsuccess en ce qui concerne les en-têtes existants :
-
-
- always est utilisée dans la réponse
- définitive.always et non dans la
- table par défaut.onsuccess.onsuccess et always. Si vous ne gardez pas Ã
- l'esprit le concept ci-après lors de l'écriture de votre configuration,
- certaines réponses HTTP pourront contenir des en-têtes dupliqués
- (ce qui pourra dérouter les utilisateurs ou même parfois les clients HTTP). Supposons par
- exemple que votre configuration comporte un mandataire PHP simple avec
- X-Foo: bar à chaque réponse HTTP. Comme décrit
- plus haut, always pour stocker les en-têtes, et une configuration comme la
- suivante n'aboutira pas au résultat attendu car l'en-tête sera dupliqué
- avec les deux valeurs :always. La situation où vous devez spécifier
+ always dépend des différentes actions ci-dessous.
Vous devez lire la différence, décrite plus haut, entre les listes
- d'en-têtes always et onsuccess avant de lire
- la liste d'actions ci-dessous car cet important concept s'applique
- encore ici. En fait, chaque action fonctionne telle qu'elle est décrite
- mais seulement pour la liste d'en-têtes cible.
Etudiez avec attention la différence entre always et
+ onsuccess pour chaque action décrite ci-dessous car le
+ comportement induit n'est pas trivial et est souvent source de
+ confusion. Lorsqu'il est conseillé de répéter les conditions, vous
+ pouvez expérimenter chacune d'entre elles et utiliser celle qui vous
+ paraît la plus efficace pour correspondre à l'en-tête préexistant.
set, append ou merge.
+ set, append ou merge.
+ Choix de la condition : spécifiez la condition
+ always si vous souhaitez que l'en-tête soit aussi ajouté aux
+ réponses de type non-2xx (comme les redirections ou les erreurs).
appendChoix de la condition : si l'en-tête préexistant
+ auquel vous voulez ajouter une valeur a été ajouté par ce module, vous devez
+ spécifier la même condition que celle utilisée à l'origine. Dans le cas
+ contraire, vous devez déterminer expérimentalement si always
+ doit être spécifié car vous ne pouvez pas savoir de manière sure dans quelle
+ table interne la valeur existante est présente.
echoChoix de la condition : spécifiez la condition
+ always si vous souhaitez que l'en-tête soit aussi ajouté aux
+ réponses de type non-2xx (comme les redirections ou les erreurs).
editedit*edit n'effectuera une
recherche/remplacement qu'une seule fois dans la valeur de
l'en-tête, alors que la forme edit* en effectuera autant
- que le nombre d'apparition de la chaîne à remplacer.
+ que le nombre d'apparition de la chaîne à remplacer.
+ Choix de la condition : en fonction de l'origine de
+ l'en-tête à éditer, vous pourrez être amenés à répéter votre directive
+ edit/edit* avec les deux conditions always et
+ onsuccess. Autrement, vous pouvez déterminer expérimentalement
+ si une condition always est nécessaire.
mergeChoix de la condition : si l'en-tête préexistant
+ auquel vous voulez ajouter une valeur a été ajouté par ce module, vous devez
+ spécifier la même condition que celle utilisée à l'origine. Dans le cas
+ contraire, vous devez déterminer expérimentalement si always
+ est nécessaire.
setChoix de la condition : si l'en-tête à définir a été
+ ajouté par ce module, vous devez spécifier la même condition que celle
+ utilisée à l'origine. Dans le cas contraire, vous devez déterminer
+ expérimentalement si always est nécessaire.
setifemptyChoix de la condition : si l'en-tête à définir a été
+ ajouté par ce module, vous devez spécifier la même condition que celle
+ utilisée à l'origine. Dans le cas contraire, vous devez déterminer
+ expérimentalement si always est nécessaire.
unsetChoix de la condition : répétez cette directive avec
+ les deux conditions always et onsuccess pour être
+ sur que l'en-tête soit bien supprimé, ou déterminez
+ expérimentalement si always est nécessaire.
noteChoix de la condition : si l'en-tête cible a été
+ ajouté par ce module, vous devez spécifier la même condition que celle
+ utilisée à l'origine. Dans le cas contraire, vous devez déterminer
+ expérimentalement si always est nécessaire.
Le drapeau [CO], ou [cookie], vous permet de définir un cookie
lorsqu'une règle
La syntaxe complète de ce drapeau, avec tous ses attributs, est la suivante :
Si un caractère littéral ':' doit être insérer dans un des champs du @@ -167,7 +167,7 @@ alternative, le contenu du champ "Name" doit être précédé du caractère ';', et les sépateurs de champs deviendront des ';'.
Vous devez déclarer un nom, une valeur et un domaine pour que
@@ -210,6 +210,12 @@ que dans le cadre d'une connexion sécurisée (https).
HttpOnly activé, ce qui signifie qu'il sera inaccessible au
code JavaScript pour les navigateurs qui supportent cette
fonctionnalité.
+
+
SameSite est défini à la
+valeur spécifiée. Les valeurs typiques sont None, Lax
+et Strict. Disponible à partir de la version 2.5.1 du serveur HTTP
+Apache.Voici un exemple :