Title: Reihenfolge der Verarbeitung
Dieses Modul enthält Direktiven zur Kontrolle und zum Verändern von Anfrage- und Antwort-Headern. Header können modifiziert, ersetzt oder entfernt werden.
Die Direktiven des Moduls .htaccess-Dateien zulässig.
Die Direktiven werden in der folgenden Reihenfolge verarbeitet:
- main server
- virtual host
Directory -Abschnitte und.htaccessFiles Location
Die Reihenfolge ist wichtig. Die beiden folgenden Header führen zu unterschiedlichen Ergebnissen, wenn die Reihenfolge umgekehrt wird:
RequestHeader unset MirrorID
Bei dieser Reihenfolge wird der MirrorID-Header nicht
gesetzt. Bei umgekehrter Reihenfolge wird der MirrorID-Header
auf "mirror 12" gesetzt.
-
Alle Anfrage-Header, die mit "TS" beginnen,
werden in die Antwort-Header kopiert:
Header echo ^TS -
Der Header
MyHeadersowie einen Zeitstempel für den Eingang der Anfrage und die Dauer der Bearbeitung der Antwort werden hinzufügt. Dieser Header gibt dem Client Aufschluss über die Serverbelastung oder Engpässe zwischen Client und Server.Header add MyHeader "%D %t" Folgender Header wird der Antwort hinzugefügt:
MyHeader: D=3775428 t=991424704447256 -
Die Anweisung
Header add MyHeader "Hello Joe. It took %D microseconds \
for Apache to serve this request."führt dazu, dass dieser Header der Antwort hinzugefügt wird:
MyHeader: Hello Joe. It took D=3775428 microseconds for Apache to serve this request. -
MyHeaderwird nur dann mit der Antwort gesendet, wenn der Header "MyRequestHeader" in der Anfrage enthalten ist. Das bei Headern sinnvoll, die als Reaktion auf einen Auslöser seitens des Clients gesendet werden sollen. Für dieses Beispiel wird das Modulmod_setenvif benötigt.SetEnvIf MyRequestHeader value HAVE_MyRequestHeader
Header add MyHeader "%D %t mytext" env=HAVE_MyRequestHeader
Ist der Header
MyRequestHeader: valuein der HTTP-Anfrage vorhanden, dann enthält die Antwort den folgenden Header:MyHeader: D=3775428 t=991424704447256 mytext
Diese Direktive kann HTTP-Anfrage-Header ersetzen, verbinden oder entfernen. Der Header wird unmittelbar vor der Ausführung des Content-Handlers modifiziert. Die durchgeführte Aktion wird mit dem ersten Argument angegeben:
set- Der Anfrage-Header wird gesetzt und ersetzt vorhandene Header mit dieser Bezeichnung
append- Der Anfrage-Header wird an vorhandene Header mit der gleichen Bezeichnung angehängt. Wird ein neuer Wert in einen vorhandenen Header eingebunden, wird er mit einem Komma vom vorhandenen Header getrennt. Das entspricht dem HTTP-Standard für die Zuweisung mehrerer Werte für einen Header.
add- Der Anfrage-Header wird den vorhandenen Headern hinzugefügt,
auch wenn er bereits vorhanden ist. Das kann dazu führen,
dass zwei (oder mehr) Header den gleichen Namen haben, was
unvorhergesehene Konsequenzen nach sich ziehen kann.
Prinzipiell sollte
appendvorgezogen werden. unset- Der Anfrage-Header mit dieser Bezeichnung wird falls vorhanden entfernt. Gibt es mehrere Header mit gleicher Bezeichnung, werden alle entfernt.
Auf dieses Argument folgt ein Header-Name, auf den ein
Doppelpunkt folgen kann, was jedoch nicht erforderlich ist.
Groß- und Kleinschreibung werden ignoriert. Bei add,
append und set wird als
drittes Argument ein Wert angegeben. Enthält der
Wert Leerzeichen, sollten diese in doppelte
Anführungszeichen gesetzt werden. Bei unset sollte
kein Wert angegeben werden.
Die
Diese Direktive kann HTTP-Antwort-Header ersetzen, modifizieren oder entfernen. Der Header wird unmittelbar nach der Ausführung der Content-Handler und Ausgabefilter modifiziert, so dass ausgehende Header geändert werden können. Die durchzuführende Aktion wird mit dem ersten Argument angegeben. Folgende Werte können angegeben werden:
set- Ersetzt den Antwort-Header und ersetzt gleichzeitig alle bisherigen Header. Der Wert kann ein Format-String sein.
append- Der Antwort-Header wird an einen vorhandenen Header mit der gleichen Bezeichnung angehängt. Wird ein neuer Wert in einen vorhandenen Header eingebunden, wird er mit einem Komma vom vorhandenen Header getrennt. Dies entspricht dem HTTP-Standard für die Zuweisung mehrerer Werte für einen Header.
add- Der Antwort-Header wird den vorhandenen Headern hinzugefügt, auch wenn er bereits existiert ist. Das kann dazu führen, dass zwei (oder mehr) Header die gleiche Bezeichnung haben, was zu unvorhergesehenen Konsequenzen führen kann. Im Allgemeinen ist daher "append" vorzuziehen.
unset- Der Antwort-Header mit dieser Bezeichnung wird falls vorhanden entfernt. Gibt es mehrere Header mit gleicher Bezeichnung, werden alle entfernt.
echo- Anfrage-Header mit dieser Bezeichnung werden im Antwort-Header zurückgeliefert. Header kann ein regulärer Ausdruck sein.
Auf dieses Argument folgt ein Header-Name, der
mit einem Doppelpunkt abgeschlossen wird, was jedoch nicht erforderlich ist.
Groß- und Kleinschreibung werden bei set,
append, add
und unset ignoriert. Beim Header-Namen
für echo werden Groß- und Kleinschreibung unterschieden.
Es darf auch ein regulärer Ausdruck angegeben werden.
Bei add, append und set
wird mit dem dritten Argument ein Wert angegeben.
Enthält der Wert Leerzeichen, dann sollten diese in
doppelte Anführungszeichen gesetzt werden. Beim Wert kann es
sich um eine Zeichenfolge, einen String mit Formatangaben oder um eine
Kombination von beidem handeln. Die folgenden Formatangaben für
den Wert sind zulässig:
%t |
Der Zeitpunkt, zu dem die Anfrage eingegangen ist,
in Universal Coordinated Time (UTC-Zeit), gemessen in Millisekunden
seit dem ersten Januar 1970. Dem Wert wird t=
vorangestellt. |
%D |
Die Zeit vom Eingang der Anfrage bis zum Versenden der
Header. Dieser Wert ist ein Anhaltspunkt für die Bearbeitungsdauer
der Anfrage. Dem Wert wird D= vorangestellt. |
%{FOOBAR}e |
Der Wert der UmgebungsvVariablen
FOOBAR. |
Wird die add, append oder
set verwendet, können mit einem vierten Argument
Bedingungen angegeben werden, unter denen die Aktion durchgeführt wird.
Existiert die mit dem env=... Argument angegebene
Umgebungsvariable (oder wird
env=!... angegeben, falls sie nicht existiert), dann wird
die mit der
Die
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
