Jump to content

Apache JServ Protocol: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
add lighttpd and nginx
move IIS to text
Line 3: Line 3:
It also supports some monitoring in that the web server can [[Ping (networking utility)|ping]] the application server. Web implementors typically use AJP in a [[Load balancing (computing)|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.
It also supports some monitoring in that the web server can [[Ping (networking utility)|ping]] the application server. Web implementors typically use AJP in a [[Load balancing (computing)|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]] [[Plug-in (computing)|plugin]] and in Apache 2.x using the provided Proxy AJP, [[mod_proxy]] and proxy balancer modules together. An implementation exists for version the not-yet-released [[lighttpd]] 1.5<ref>[http://redmine.lighttpd.net/projects/1/wiki/Docs_ModProxyCore lighttpd ModProxyCore]</ref> and a module for [[nginx]]<ref>https://github.com/yaoweibin/nginx_ajp_module</ref>.
AJP runs in [[Apache HTTP Server]] 1.x using the [[mod_jk]] [[Plug-in (computing)|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<ref>[http://redmine.lighttpd.net/projects/1/wiki/Docs_ModProxyCore lighttpd ModProxyCore]</ref>, [[nginx]]<ref>[https://github.com/yaoweibin/nginx_ajp_module Weibin Yao: nginx_ajp_module]</ref>, and the [[Internet Information Server]]<ref>[http://boncode.net/connector/webdocs/Tomcat_Connector.htm BonCode AJP 1.3 Connector]</ref>.


Both the [[Apache Tomcat]] servlet container as well as the [[Jetty (web server)|Jetty]] servlet container support AJP. The [[WebObjects]] application server can run (without a servlet deployment) using the LEWOAJPAdaptor from [http://homepage.mac.com/andrewlindesay/le/page_lestuff.html LEWOStuff].
Both the [[Apache Tomcat]] servlet container as well as the [[Jetty (web server)|Jetty]] servlet container support AJP. The [[WebObjects]] application server can run (without a servlet deployment) using the LEWOAJPAdaptor from [http://homepage.mac.com/andrewlindesay/le/page_lestuff.html LEWOStuff].
Line 21: Line 21:
* [http://httpd.apache.org/docs/2.2/mod/mod_proxy.html Apache Module mod_proxy] (Apache Version 2.2)
* [http://httpd.apache.org/docs/2.2/mod/mod_proxy.html Apache Module mod_proxy] (Apache Version 2.2)
* [http://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html Apache Module mod_proxy_ajp]
* [http://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html Apache Module mod_proxy_ajp]
* [http://tomcatiis.riaforge.org Implementation of Apache JServ protocol for Internet Information Server]
* [http://java.apache.org/ The Java Apache]
* [http://java.apache.org/ The Java Apache]



Revision as of 13:22, 19 March 2013

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], and the Internet Information Server[3].

Both the Apache Tomcat servlet container as well as the Jetty servlet container support AJP. The WebObjects application server can run (without a servlet deployment) using the LEWOAJPAdaptor from LEWOStuff.

History

This protocol was originally created by Alexei Kosut in July 1997.[4][5] He also created 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).[6]

An attempt was made at revamping the protocol to a second version in 1998[5] but seemingly it remains with just minor updates at version 1.3.

References