Apache's Handler Use

What is a Handler

A "handler" is an internal Apache representation of the action to be
performed when a file is called. Generally, files have implicit
handlers, based on the file type. Normally, all files are simply
served by the server, but certain file typed are "handled"
separately. For example, you may use a type of
"application/x-httpd-cgi" to invoke CGI scripts.

Apache 1.1 adds the additional ability to use handlers
explicitly. Either based on filename extensions or on location, these
handlers are unrelated to file type. This is advantageous both because
it is a more elegant solution, but it also allows for both a type
and a handler to be associated with a file.

Handlers can either be built into the server or to a module, or
they can be added with the Action directive. The built-in
handlers in the standard distribution are as follows:

When placed into an .htaccess file or a
<Directory> or <Location> section,
this directive forces all matching files to be parsed through the
handler given by handler-name. For example, if you had a
directory you wanted to be parsed entirely as imagemap rule files,
regardless of extension, you might put the following into an
.htaccess file in that directory:

SetHandler imap-file

Another example: if you wanted to have the server display a status
report whenever a URL of http://servername/status was
called, you might put the following into access.conf:

<Location /status>
SetHandler server-status
</Location>

Programmer's Note

In order to implement the handler features, an addition has been
made to the Apache API that you may wish to
make use of. Specifically, a new record has been added to the
request_rec structure:

char *handler

If you wish to have your module engage a handler, you need only to
set r->handler to the name of the handler at any time
prior to the invoke_handler stage of the
request. Handlers are implemented as they were before, albeit using
the handler name instead of a content type. While it is not
necessary, the naming convention for handlers is to use a
dash-separated word, with no slashes, so as to not invade the media
type name-space.