tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: ajp12, ajp13, mod_webapp, and http protocols
Date Sat, 05 May 2001 15:37:04 GMT
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 :-)

( P.S. Sorry if I missed anyone in this short history of mod_jk ! )

View raw message