Title: Handler
In den folgenden Abschnitten wird die Verwendung der Apache-Handler beschrieben.
Ein "Handler" ist eine interne Apache-Darstellung der beim Aufruf einer Datei auszuführenden Aktion. Im Allgemeinen besitzen Dateien implizite Handler, die auf dem Dateityp basieren. Normalerweise werden alle Dateien einfach vom Server bedient, bestimmte Dateitypen werden aber gesondert "behandelt".
Mit der Apache-Version 1.1 wurde die Möglichkeit zur Verwendung von Handlern explizit eingeführt. Basierend auf der Dateinamenserweiterung oder der Position im Dateisystem können Handler ohne Bezug auf den Dateityp angegeben werden. Das ist vorteilhaft, weil es eine elegantere Lösung ist und weil sowohl ein Typ als auch ein Handler mit einer Datei verknüpft werden können. (Siehe auch Dateien mit mehrere Erweiterungen.)
Handler können in den Server oder ein Modul integriert werden oder sie
können mit der
- default-handler: Die Datei wird mit dem
default_handler()gesendet, der standardmäßig für statische Inhalte verwendet wird. (Kern) - send-as-is: Die Datei wird wie sie ist mit HTTP-Headern
gesendet. (
mod_asis ) - cgi-script: Die Datei wird als CGI-Skript behandelt.
(
mod_cgi ) - imap-file: Die Datei wird als
imap-Regeldatei behandelt. (mod_imap ) - server-info: Die Konfigurationsinformationen
der Servers werden ermittelt. (
mod_info ) - server-status: Der Serverstatus-Bericht wird abgefragt.
(
mod_status ) - type-map: Die Datei wird als Typ-Map-Datei für die
Content Negotiation behandelt. (
mod_negotiation )
Die folgenden Direktiven sorgen dafür, dass bei Anfragen nach Dateien mit der
Erweiterung html das CGI-Skript footer.pl
gestartet wird.
AddHandler add-footer .html
Das CGI-Skript ist dann für das Senden des ursprünglich angeforderten
Dokuments (auf das die Umgebungsvariable
PATH_TRANSLATED verweist) und für eventuelle
Modifikationen und Ergänzungen verantwortlich.
Die folgenden Direktiven aktivieren den send-as-is-Handler,
der für Dateien mit eigenen HTTP-Headern benutzt wird. Alle Dateien im
Verzeichnis /web/htdocs/asis/ werden unabhängig von ihrer
Dateinamenserweiterung vom send-as-is-Handler verarbeitet.
SetHandler send-as-is
</Directory>
Um die Handler-Eigenschaften zu implementieren, wurde die
Apache API mit einer Erweiterung versehen,
die Programmierer nutzen können. Im Einzelnen wurde der Struktur
request_rec ein neuer Datensatz hinzugefügt:
Soll ein Modul einen Handler benutzen, muss für r->handler
lediglich vor der invoke_handler-Phase der Anfrage der Name
des Handlers gesetzt werden. Handler werden wie zuvor implementiert,
abgesehen davon, dass der Handler-Name anstelle eines Inhaltstyps benutzt
wird. Gemäß Konvention werden in Handler-Namen Gedankenstriche und keine
Schrägstriche benutzt, damit sie nicht in den Namespace des Medientyps
eindringen können.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
