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.
It also supports some monitoring in that the web server can ping the application server. Web implementors typically use AJP in a load-balanced deployment where one or more front-end web servers feed requests into one or more application servers. Sessions are redirected to the correct application server using a routing mechanism wherein each application server instance gets a name (called a route). In this scenario the web server functions as a reverse proxy for the application server.
AJP runs in Apache HTTP Server 1.x using the mod_jk plugin and in Apache 2.x using the provided Proxy AJP, mod_proxy and proxy balancer modules together. Implementations exist for the not-yet-released lighttpd version 1.5,[1] nginx,[2] Grizzly 2.1,[3] and the Internet Information Server.[4]
The Apache Tomcat and JBoss AS/WildFly servlet containers support AJP.
History
Alexei Kosut originally developed the Apache JServ Protocol in July 1997.[5][6] 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).[7]
An attempt was made[by whom?] at revamping the protocol to a second version in 1998[6] but seemingly[original research?] it remains with just minor updates at version 1.3.
See also
References
- ^ lighttpd ModProxyCore
- ^ Weibin Yao: nginx_ajp_module
- ^ "AJP". Grizzly 2.3 User's Guide. java.net. Retrieved 2013-04-29.
- ^ BonCode AJP 1.3 Connector
- ^ Kosut, Alexei. "Apache JServ Protocol", Version 1.0. Java Apache Project. July 1997.
- ^ a b Apache JServ Protocol Version 2.1 (AJPv2.1) - June 30, 1998 - Draft
- ^ Apache mod_jserv - History of Changes
External links
- The Apache Tomcat Connector - AJP Protocol Reference AJPv13
- Apache JServ Protocol version 1.3 Dan Milstein, December 2000.