Some complex interactions between mod_dir,
mod_negotiation and the filters interface in Apache
2.0 were worked out this week; the end result being to classify
filters into three different major types: connection filters, protocol
filters, and resource filters. The different types of filter are
distinguished by their lifetime: a connection filter is in place for
the entire connection (such as mod_ssl's SSL filter),
a protocol filter lasts for the entire duration of the HTTP request
(an example being the core filter used to calculate the Content-Length
header), and a resource filter lasting as long as the content
generated by the underlying resource (an example being
mod_include). The changes made fixed several
long-standing problems, particularly in sub-request handling.
In the midst of the upheaval, a tag was made for a 2.0.33 release,
although concerns were voiced about whether this release could be
publicised as anything other than an alpha.
Last week
we covered a major security issue found in some versions of PHP
(CAN-2002-0081).
Vendor updates seen so far from:
We also covered a potential security issue found in
Apache-SSL and mod_ssl (CAN-2002-0082).
Vendor updates seen so far from:
In this section we highlight some of the articles on the web that are of
interest to Apache users.
It has been slightly more than a year since the debut of
Moto,
an embedded server-side programming language, and now its creator
David Hakim is
revitalising it
by adding many new extensions. If your web content is everlasting, you
can choose to compile your Moto pages using the included Moto module
compiler (mmc) into an Apache module.
"Improving Performance by Profiling PHP Applications"
shows you how to quickly analyse and optimise your PHP code by using
the PEAR::Benchmark library. It illustrates this by providing a real-life
scenario from the author's personal experience as an example.
Meanwhile, SearchWebManagement.com has created a
PHP resources page
to help PHP users understand PHP, the latest
flaw, and its solution.
From stopping bad robots last week, today we look at how to build a
Perl-based web crawler by creatively using some of the CPAN
(Comprehensive Perl Archive Network) modules in
"Web Mining with Perl".
Tommie Jones examines the LWP::Simple,
HTML::TableExtract,
HTML::LinkExtor,
HTML::Parser,
String::CRC, and
Data::Dumper module and provides an example
script of each module in action to demonstrate how each module can
be used as part of a web crawler.
"Jakarta-Tomcat on FreeBSD 4.4"
focuses on writing servlets with Tomcat in stand-alone mode. First it
installs the Linux J2SDK after adding Linux binary compatibility to
FreeBSD. Then it builds a native port and also installs OpenJIT before
setting up and launching Tomcat.