Apache JServ Protocol
The Apache JServ Protocol (AJP) is a binary protocol that can proxy inbound requests from a web server through to an application server that sits behind the web server. AJP is a highly trusted protocol and should never be exposed to untrusted clients, which could use it to gain access to sensitive information or execute code on the application server.
Alexei Kosut originally developed the Apache JServ Protocol in July 1997 but the version 1.0 specification was published later on July 29, 1998. He also wrote the first implementations of it in the same month, with the releases of the Apache JServ servlet engine 0.9 and the Apache mod_jserv 0.9a (released on July 30, 1997). The specification was updated to version 1.1 on September 9, 1998. Also in 1998, a revamped protocol was created and published in specification versions 2 and 2.1, however it was never adopted. In 1999, Sun Microsystems donated their JavaServer Web Development Kit (JSWDK; codenamed Tomcat) reference implementation to Apache Software Foundation. This became Apache Tomcat version 3.0, the successor to JSWDK 2.1, and derailed further development of Apache JServ servlet engine and AJP towards support of Java servlet API version 2.1. The current specification remains at version 1.3, however there is a published extension proposal as well as an archived experimental 1.4 proposal.


