On Sat, 5 May 2001, kevin seguin wrote:
> i believe the original reason why mod_jserv and ajp were introduced was
> for connecting the apache web server to the old JServ servlet
> container. when tomcat showed up, mod_jserv was used for it too. i
> think mod_jk, which added support for more web servers (i.e.
> iis/netscape) was then introduced as a replacement for mod_jserv. ajp13
> is an evolution (revolution??) of ajp12. it's faster.
Close enough :-)
JServ used an apache module - mod_jserv - to connect to apache.
The protocol used to communicate between mod_jserv and apache was called
ajp11, and was text based. Later, a binary ( and much faster ) version was
added - ajp12.
Tomcat started with only a http connector ( standlone ). One of the first
things done was a refactoring of the connector code that allowed us to
plug an Ajp12 connector - and so use mod_jserv with Tomcat. Few big
benefits: people had a reasonably easy upgrade path ( no change on the
apache side ), reuse the existing code.
Next step ( done mostly by Gal ) was refactoring mod_jserv - in order to
support multiple web servers ( IIS, NES - then AOLServer - Vasile
Gaburici - and of course Apache 2.0 ) and other protocols ( like
JNI). Ajp13 added the initial support for bidirectional communication,
and improved the speed of ajp12 ( by reusing the connections, more
efficient protocol, etc ).
The next big step in this evolution was when Dan started to add
documentation and did another cleanup of the mod_jk code. Henri also did
and is doing a lot of work on mod_jk (including the Apache2.0 port ),
right now working on extensions to the protocol to add more callbacks and
improve the security ( what will be ajp14 ).
The original module ( mod_jserv ) is still usable.
BTW, IMHO mod_jk development is probably the closest to the
"apache" standards of colaborative development :-)
Costin
( P.S. Sorry if I missed anyone in this short history of mod_jk ! )