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:
<Location /cgi-bin> ... SetHandler cgi-script ... </Location>
mod_perl allows you to write your own handlers in Perl, by embedding
the Perl runtime library directly into the Apache
httpd server executable. To use mod_perl for CGI
(which is all that most people want to do with it), assign the
SetHandler
directive to
perl-script
, and then assign the mod_perl-specific
PerlHandler
directive to a special Perl module
called Apache::Registry:
SetHandler perl-script PerlHandler Apache::Registry
PerlHandler
is the mod_perl handler for the content retrieval stage of the transaction. ...
Get Webmaster in a Nutshell, Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.