From b9feeb4dc5eafa29f98f1d2ca1ff036618c00204 Mon Sep 17 00:00:00 2001
From: Lucien Gentis
Cette directive permet de modifier les règles qui s'appliquent à la ligne
+ de requête HTTP (RFC 7230
+ §3.1.1) et aux champs des en-têtes des requêtes HTTP (RFC 7230
+ §3.2), qui s'appliquent maintenant par défaut ou en utilisant
+ l'option Strict
. L'option Unsafe
+ a été ajoutée pour pouvoir restaurer les anciens
+ comportements nécessaires aux anciens modules et applications et aux agents
+ utilisateurs personnalisés considérés comme obsolètes. Ces règles
+ s'appliquant avant le traitement de la requête, elles doivent, pour être prises en
+ compte, être définies
+ au niveau global ou dans la première section par défaut du serveur virtuel
+ qui correspond à la requête considérée, par interface IP/port et non par
+ nom.
Avant l'introduction de cette directive, les interpréteurs de requêtes du
+ serveur HTTP Apache toléraient un grand nombre de formats en entrée qui
+ n'étaient pas forcément conformes au protocole. RFC 7230 §9.4
+ Request Splitting et §9.5 Response
+ Smuggling ne rappellent que deux des risques potentiels induits par des
+ requêtes non conformes, alors que RFC 7230
+ §3.5 signale les risques encourus par l'acceptation de blancs non
+ conformes dans les lignes de requête. Avec l'introduction de cette
+ directive, toutes les règles de grammaire de la spécification doivent être
+ respectées dans le mode d'opérations par défaut Strict
.
Il est fortement déconseillé aux utilisateurs d'utiliser le mode
+ d'opération Unsafe
, ou
+ UnsafeWhitespace
, en particulier pour les déploiements de
+ serveurs ouverts sur l'extérieur et/ou accessibles au public. Si un moniteur
+ défectueux ou autre logiciel spécialisé ne s'exécutant que sur un intranet
+ nécessite une interface, les utilisateurs ne doivent utiliser les options de
+ type UnSafe qu'en cas de nécessité et uniquement au sein d'un serveur
+ virtuel bien spécifique et sur un réseau privé.
La consultation des messages enregistrés dans le journal
+ info
, pourra
+ vous aider à identifier de telles requêtes non conformes ainsi que leur
+ provenance. Les utilisateurs devront accorder une attention particulière aux
+ messages d'erreur de type 400 dans le journal access pour détecter les
+ requêtes apparemment valides mais rejetées.
La section de la RFC 7231
+ §4.1 "Request Methods" "Overview" indique que les serveurs doivent
+ renvoyer un message d'erreur lorsque la ligne de requête comporte une
+ méthode non supportée. C'est déjà le cas lorsque l'option
+ LenientMethods
est utilisée, mais les administrateurs ont la
+ possibilité de limiter les méthodes utilisées via l'option
+ RegisteredMethods
en enregistrant toute méthode non standard
+ via la directive Unsafe
est utilisée. L'option
+ RegisteredMethods
ne doit pas être utilisée
+ pour les serveurs mandataires car ces derniers ne connaissent pas les
+ méthodes supportées par les serveurs originaux.
La section de la RFC 2616
+ §19.6 "Compatibility With Previous Versions" encouragait les
+ serveurs HTTP à supporter les anciennes requêtes HTTP/0.9. La RFC 7230 va
+ cependant à son encontre via sa préconisation "Le souhait de supporter les
+ requêtes HTTP/0.9 a été supprimé" et y adjoint des commentaires dans RFC 7230 Appendix
+ A. A ce titre, l'option Require1.0
permet à l'utilisateur
+ d'inhiber le comportement induit par l'option par défaut
+ Allow0.9
.
Normalement, les méthodes HTTP non conformes aux RFCs correspondantes
+sont rejetées au cours du traitement de la requête par HTTPD. Pour
+éviter ceci, les modules peuvent enregistrer les méthodes HTTP non
+standards qu'ils supportent. La directive
+