>1.  I know ajp protocol was originally introduced by
>by mod_jserv to communicate with JServ.  But what I
>was wondering is, why at that time, a new protocol,
>ajpxx was introduced rather using the existing http
>protocol.

ajp is faster than http and use less bandwith (binary compression)
It's also a ligth protocol (compared to http 1.1 full proto)

>2.  As I mentioned in my previous email, I have
>already implemented http worker (very similar to ajp12
>and ajp13 worker, with HTTP 1.0) in mod_jk.  And it
>works with Tomcat, Orion, JServ without any problem. 
>What it does is to simply forward the request to the
>web container's http listener (like a proxy).  (Thanks
>for the great design of mod_jk!)  When I compare the
>performance between mod_jk/http/Tomcat and
>mod_jk/ajp12/Tomcat, I can not see any difference.

Could you provide the code ?
Don't forget that ajp allow you to use a cluster of Tomcats...

>3.  I am working on implementing http 1.1 in my http
>worker of mod_jk to take advantage of its persistant
>connection with "KeepAlive" option.  Once I am done, I
>can compare the performance between
>mod_jk/http1.1/Tomcat with mod_jk/ajp13/Tomcat because
>ajp13 has persistant connection too.

Thanks again to forward the code.

>4.  There seems to have no difference between http and
>ajpxx protocols on hooking up with other web servers,
>such as IIS, Netscape, ...

mod_jk support JNI :)

>5.  Essentially, there is no difference between ajpxx
>and http protocol in terms of forwarding the request
>from the web server side to the web container side. 
>The only difference is the protocol itself.

Yes

>6.  So, my conclusion is, if there is no performance
>difference, with the advantage of that http can cross
>firewall and almost all web containers support have
>http listeners, why http is not used in either
>mod_jserv, mod_jk or mod_webapp?  I must have missed
>some points. :-)

mod_jk with ajp12/ajp13 is a one way protocol, web-server
to servlet-engine. mod_jk/web-connector with ajp14 will
be 2 way protocol, ie the servlet engine will talk with 
the web server (ie which context to handle, which URIs,
status....)

Stay tuned for more info.

Reply via email to