15.3. mod_perl Handlers

To understand mod_perl, you should understand how the Apache server
works. When Apache receives a request, it processes it in several
stages. First, it translates the URL to the associated resource
(i.e., filename, CGI script, etc.) on the server machine. Then it
checks to see if the user is authorized to access that resource,
perhaps by requesting and checking an ID and password. Once the user
has passed inspection, the server figures out what kind of data
it's sending back (e.g., it decides a file ending in
.html is probably a text/html
file), creates some headers, and sends those headers back to the
client with the resource itself. When all is said and done, the
server makes a log entry.

At each stage of this process, Apache looks for routines to
"handle" the request. Apache
supplies its own handlers; for example, one of the default handlers
is cgi-script, often seen applied to
/cgi-bin: