From: Jim Jagielski Historiquement, il existe de nombreuses variantes dans la syntaxe
des expressions permettant d'exprimer une condition dans les
@@ -210,8 +208,7 @@ listfunction ::= listfuncname "(" word ")"Le nom d'hôte de l'hôte distant
+ disponible à l'intérieur d'un bloc REMOTE_USER
Le nom de l'utilisateur authentifié, s'il existe (non
- disponible à l'intérieur d'un bloc <If
- >
)<If>
)
REMOTE_IDENT
Le nom de l'utilisateur défini par mod_ident
@@ -231,8 +228,7 @@ listfunction ::= listfuncname "(" word ")"basic")SERVER_NAME
+ disponible à l'intérieur d'un bloc CONTENT_TYPE
Le type de contenu de la réponse (non
- disponible à l'intérieur d'un bloc <If
- >
)<If>
)
@@ -247,8 +243,7 @@ listfunction ::= listfuncname "(" word ")"off" dans le cas contraire
HANDLER
Le nom du gestionnaire qui a
généré la réponse
+ disponible à l'intérieur d'un bloc REQUEST_STATUS
Le code d'erreur HTTP de la requête (non
- disponible à l'intérieur d'un bloc <If
- >
)<If>
)
@@ -456,10 +451,14 @@ listfunction ::= listfuncname "(" word ")"Identique à REQUEST_LOG_ID
L'identifiant du message d'erreur associé à la requête (voir
la directive ErrorLogFormat
)req
, mais aucun nom d'en-tête n'est
ajouté à l'en-tête Vary
+
- resp
Lit l'en-tête de réponse HTTP Lit l'en-tête de réponse HTTP (La plupart des en-têtes de la réponse
+ ne seront pas encore définis pendant le traitement de la directive
+ <If>
)
+ peut aussi utiliser le raccourci reqenv
Recherche une variable d'environnement de requête (on
- peut aussi utiliser le raccourci v
).ordonnancement v
).
+
+ ordonnancement
diff --git a/docs/manual/howto/http2.html.fr b/docs/manual/howto/http2.html.fr
index af9134339e..2ea5a49bef 100644
--- a/docs/manual/howto/http2.html.fr
+++ b/docs/manual/howto/http2.html.fr
@@ -27,13 +27,11 @@
es |
fr osenv
Recherche une variable d'environnement du système
d'exploitation
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 - production, et les interfaces et directives devraient - maintenant se stabiliser. + dans Apache httpd. Cette fonctionnalité en est au stade + de production, et les interfaces et directives devraient donc être + dorénavant relativement stables.
Le protocole HTTP/2 est implémenté dans Apache httpd via un module
- propre, pertinemment nommé mod_http2. Ce
+ propre, pertinemment nommé mod_http2
. 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 'h2c
', et la variante sécurisée
@@ -114,9 +113,9 @@
mod_http2 se base sur la bibliothèque +
mod_http2
se base sur la bibliothèque
de nghttp2 pour son implémentation. Pour
- pouvoir compiler mod_http2
, libnghttp2
version
+ pouvoir compiler mod_http2
, libnghttp2
version
1.2.1. ou supérieure doit être installée dans votre système.
Pour déclencher la compilation de mod_http2
, vous devez
ajouter l'argument '--enable-http2
' au script
@@ -129,7 +128,7 @@
préféreront lier statiquement nghttp2
à ce module. Pour ce
faire, utilisez l'argument --enable-nghttp2-staticlib-deps
.
Cette méthode est pratiquement la même que celle utilisée pour lier
- statiquement openssl à mod_ssl.
mod_ssl
.
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
https:
; votre serveur doit donc supporter SSL. Mais de plus,
@@ -142,7 +141,7 @@
Maintenant que vous disposez d'un binaire httpd
compilé avec le
- module mod_http2
, l'activation de ce dernier nécessite un
+ module mod_http2
, 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 :
LoadModule http2_module modules/mod_http2.so@@ -173,7 +172,7 @@
La directive SSLCipherSuite
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 mod_http2
n'impose pas d'algorithmes de chiffrement
particuliers, la plupart des clients le font. Faire pointer un navigateur
vers un serveur où h2
est activé avec une chaîne d'algorithmes
de chiffrement inappropriée entraînera un rejet et une retrogradation vers
@@ -206,11 +205,11 @@
Avec cette directive, l'ordre des protocoles que vous avez défini devient caduque et seul l'ordre défini par le client sera pris en compte.
-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 Protocoles
avec des vérifications de type
- IfModule
.
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 Protocols
avec des vérifications de type
+ <IfModule>
.
Pour des conseils plus avancés à propos de la configuration, voir la Documentation de mod_http2, et en particulier
la section à propos de la consommation supplémentaire de
ressources, ainsi que la section expliquant comment gérer les serveurs multiples avec certificat
@@ -221,24 +220,24 @@
Tous les modules multiprocessus (MPM) fournis avec httpd supportent
- HTTP/2. Cependant, si vous utilisez le MPM Avec le MPM Avec le MPM Par défaut, Par défaut, Si votre plateforme et votre installation de httpd le supportent, la
meilleur solution consiste actuellement à utiliser le MPM
- Si vous n'avez pas d'autre choix que d'utiliser le MPM
- prefork
, vous allez
+ HTTP/2. Cependant, si vous utilisez le MPM prefork
, vous allez
faire face à de sévères restrictions.prefork
, mod_http2
ne traitera
+ prefork
, mod_http2
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.mod_http2
ne passe pas outre cette limitation pour
- la simple et bonne raison que le MPM prefork
n'est aujourd'hui
+ mod_http2
ne passe pas outre cette limitation pour
+ la simple et bonne raison que le MPM prefork
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).event
.
+ event
.
prefork
, mais souhaitez tout de même traiter plusieurs requêtes
+ prefork
, mais souhaitez tout de même traiter plusieurs requêtes
simultanément, vous pouvez jouer avec la directive H2MinWorkers
, sans garantie que cela
fonctionne.
mod_http2
inspecte l'en-tête de la réponse et recherche les
+
mod_http2
inspecte l'en-tête de la réponse et recherche les
en-têtes Link
sous un certain format :
Link </xxx.css>;rel=preload, </xxx.js>; rel=preload@@ -344,9 +343,61 @@ un stade très expérimental.
L'
en-tête Accept-Push-Policy est un autre dispositif expérimental
- implémenté dans mod_http2
; il permet au client de définir pour
+ implémenté dans mod_http2
; il permet au client de définir pour
chaque requête quels genres de PUSHes il accepte.
+ 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.
+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 accept-language
et si oui, quelle
+ sera sa valeur ?
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 :
+ user-agent
, accept
, accept-encoding
,
+ accept-language
et cache-control
.
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.
+ +A l'instar des ressources PUSHées, une autre méthode consiste à envoyer
+ des en-têtes Link
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 RFC 8297.
Pour utiliser cette fonctionnalité, vous devez l'activer explicitement + sur le serveur via :
+H2EarlyHints on+ +
Elle n'est en effet pas activée par défaut car certains navigateurs + anciens perdent pied avec de telles réponses.
+Une fois cette fonctionnalité activée, vous pouvez utiliser la directive
+ H2PushResource
pour déclencher les
+ suggestions précoces et les PUSHes de ressources :
<Location /xxx.html> + H2PushResource /xxx.css + H2PushResource /xxx.js +</Location>+ +
Le serveur enverra alors au client une réponse "103 Early
+ Hints"
dès qu'il commencera à 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.
Si H2Push
est activé, ceci
+ déclenchera aussi le PUSH juste après la réponse 103. Mais si H2Push
n'est pas activé, la réponse 103 sera
+ quand-même envoyée au client.
Langues Disponibles: en | es | diff --git a/docs/manual/mod/core.html.de b/docs/manual/mod/core.html.de index ef2572267c..ff561028ac 100644 --- a/docs/manual/mod/core.html.de +++ b/docs/manual/mod/core.html.de @@ -1665,6 +1665,7 @@ if file exists at startup
<IfFile [!]parameter-name> ...
</IfFile>
<IfFile [!]parameter-name> ...
</IfFile>
Description: | Fonctionnalités de base du serveur HTTP Apache toujours disponibles |
---|---|
Statut: | Core |
<IfFile [!]parameter-name> ...
</IfFile>
<IfFile [!]parameter-name> ...
</IfFile>
Description: | Autorisation basique | ||||||||
---|---|---|---|---|---|---|---|---|---|
Statut: | Base | ||||||||
Identificateur de Module: | authz_core_module |
Description: | Serveur mandataire/passerelle multi-protocole | ||||||||
---|---|---|---|---|---|---|---|---|---|
Statut: | Extension | ||||||||
Identificateur de Module: | proxy_module | ||||||||
Syntaxe: | ProxySet url clé=valeur [clé=valeur ...] | ||||||||
Contexte: | répertoire | ||||||||
Contexte: | configuration du serveur, serveur virtuel, répertoire | ||||||||
Statut: | Extension | ||||||||
Module: | mod_proxy | ||||||||
Compatibilité: | ProxySet n'est disponible que depuis la version 2.2
diff --git a/docs/manual/mod/mod_ratelimit.html.fr b/docs/manual/mod/mod_ratelimit.html.fr
index abb4d77115..e0ec49b8a2 100644
--- a/docs/manual/mod/mod_ratelimit.html.fr
+++ b/docs/manual/mod/mod_ratelimit.html.fr
@@ -32,7 +32,12 @@
| ||||||||
Fichier Source: | mod_ratelimit.c | ||||||||
Compatibilité: |
+ rate-initial-burst est disponible à partir de la version 2.4.24
+ du serveur HTTP Apache. La limitation de bande passante pour les contenus
+ mandatés ne fonctionne pas correctement jusqu'à la version 2.4.33.
+ |