Apache JServ Protocol
Encyclopedia
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).
AJP runs in Apache HTTP Server
1.x using the mod jk
plugin and in Apache 2.2 using the provided Proxy AJP, mod proxy
and proxy balancer modules together. The Apache server is written in C
and the application-server end is generally written in Java
.
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.
Communications protocol
A communications protocol is a system of digital message formats and rules for exchanging those messages in or between computing systems and in telecommunications...
that can proxy
Proxy server
In computer networks, a proxy server is a server that acts as an intermediary for requests from clients seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource available from a different server...
inbound requests from a web server
Web server
Web server can refer to either the hardware or the software that helps to deliver content that can be accessed through the Internet....
through to an application server
Application server
An application server is a software framework that provides an environment in which applications can run, no matter what the applications are or what they do...
that sits behind the web server. It also supports some monitoring in that the web server can ping
Ping
Ping is a computer network administration utility used to test the reachability of a host on an Internet Protocol network and to measure the round-trip time for messages sent from the originating host to a destination computer...
the application server. Web implementors typically use AJP in a load-balanced
Load balancing (computing)
Load balancing is a computer networking methodology to distribute workload across multiple computers or a computer cluster, network links, central processing units, disk drives, or other resources, to achieve optimal resource utilization, maximize throughput, minimize response time, and avoid...
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).
AJP runs in Apache HTTP Server
Apache HTTP Server
The Apache HTTP Server, commonly referred to as Apache , is web server software notable for playing a key role in the initial growth of the World Wide Web. In 2009 it became the first web server software to surpass the 100 million website milestone...
1.x using the mod jk
Mod jk
mod_jk is the connector used to connect the Tomcat servlet container with web servers such as Apache, Netscape, iPlanet, SunOne and even IIS using the AJP protocol.In a nutshell, a web server is waiting for client HTTP requests...
plugin and in Apache 2.2 using the provided Proxy AJP, mod proxy
Mod proxy
mod_proxy is an optional module for the Apache HTTP Server .This module implements a proxy/gateway/cache for Apache. It implements proxying capability for or AJP13 , FTP, CONNECT , HTTP/0.9, HTTP/1.0, and HTTP/1.1...
and proxy balancer modules together. The Apache server is written in C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
and the application-server end is generally written in Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
.
Both the Apache Tomcat
Apache Tomcat
Apache Tomcat is an open source web server and servlet container developed by the Apache Software Foundation...
servlet container as well as the Jetty
Jetty (web server)
Jetty is a pure Java-based HTTP client/server, WebSocket client/server and servlet container developed as a free and open source project as part of the Eclipse Foundation...
servlet container support AJP. The WebObjects
WebObjects
WebObjects was a Java web application server from Apple Inc., and a web application framework that ran on the server. It was available at no additional cost. Its hallmark features were its object-orientation, database connectivity, and prototyping tools...
application server can run (without a servlet deployment) using the LEWOAJPAdaptor from LEWOStuff.
External links
- The Apache Tomcat Connector - AJP Protocol Reference AJPv13
- Apache JServ Protocol version 1.3 Dan Milstein, December 2000.
- Apache Tomcat Configuration Reference The AJP Connector
- Apache Module mod_proxy (Apache Version 2.2)
- Apache Module mod_proxy_ajp
- Implementation of Apache JServ protocol for Internet Information Server