Apache HTTP Server Version 1.3
Module mod_headers
Le module optionnel d'en-têtes permet la personnalisation des en-têtes HTTP de réponse. Des champs d'en-têtes peuvent être ajoutés, remplacés ou supprimés. Les directives dans ce document ne sont disponibles que si Apache est compilé avec le module mod_headers.c.
Directive
Syntaxe : Header [ set | append | add ] en-tête valeur
Syntaxe : Header unset en-tête
Contexte : configuration serveur, hôtes virtuels, access.conf, .htaccess
Statut : optionnel
Module : mod_header
Cette directive peut remplacer, ajouter ou supprimer des champs d'en-tête de réponses HTTP. L'action effectuée est précisée par le premier argument. Celui-ci peut prendre les valeurs suivantes :
- set
Le champ d'en-tête est ajouté, remplaçant automatiquement tout champ antérieur de même nom
- append
Le champ d'en-tête est combiné avec un champ antérieur de même nom. Lorsqu'une nouvelle valeur est ajoutée au champ existant, elle sera séparée de la valeur précédente par une virgule. C'est la syntaxe standard d'HTTP pour attribuer une liste de valeurs à un champ d'en-tête.
- add
Le champ d'en-tête est ajouté aux champs existants, même si un champ du même nom existe déjà. De ceci il peut résulter des en-têtes ou apparaissent deux (ou plus) champs de même nom. Ceci peut avoir des conséquences inattendues, et l'on préfèrera en général utiliser la commande "append".
- unset
Le champ d'en-tête de nom correspondant est supprimé, s'il existe. Si plusieurs champs portent le même nom, seul le premier
de la liste sera supprimé.
Cet argument est suivi du nom du champ, dans lequel peut figurer le ':' final, bien qu'il ne soit pas obligatoire. La casse est ignorée. Pour les actions add, append et set, un troisième argument représente la valeur. Si cette valeur contient des espaces, on prendra soin de mettre la chaîne entre guillemets. Pour l'aciton unset, le troisième argument n'apparait pas.
Ordre d'exécution
La directive Header peut figurer presque partout dans les fichiers de configuration du serveur. Elle est valide dans le fichier principal de configuration du serveur, dans les sections <VirtualHost>, <Directory>, <Location> et <Files>, ainsi que dans les fichiers .htaccess.
Les directives Header sont prises en compte selon l'ordre suivant :
- main server
- VirtualHost
- sections <Directory> et .htaccess
- sections <Location>
- sections <Files>
Cet ordre est important. Les deux directives suivantes ont un effet différent si elles sont inversées :
Header append Author "John P. Doe"
Header unset Author
Comme ci-dessus, le champ Author ne sera pas actif. Si inversées, un champ Author sera bien défini à "John P. Doe".
Les directives Header sont interprétées juste avant qu'une réponse ne soit envoyée par le gestionnaire (handler) approprié. Ceci signifie que certains champs d'en-tête qui sont ajoutés juste avant que la réponse soit envoyée ne pourront être supprimés ni surchargés. Ceci concerne des champs tels que "Date:" et "Server:".
Apache HTTP Server Version 1.3