The Apache JServ Protocol (AJP) is a method for a web server to communicate with an associated application server. The web server is a "reverse proxy," meaning, its purpose is to handle incoming traffic from the Internet on behalf of the application server.
Web traffic is carried out in HTTP (Hypertext Transfer Protocol), which also carries through to communication between servers working together to fulfill a request. HTTP is a plain-text format where actual words make up the messages running between computers. This create an overhead of traffic. AJP converts these messages into a binary code, reducing the amount of space taken by each message.
Speed between collaborating servers is a distinctive feature of the protocol. The process maintains permanent connections between servers to reduce the time taken to establish contact. The link is dedicated to a particular request and then maintained for the next request to be tunneled down, rather than each session causing a session to be created and broken.
AJP is particularly used for “Load Balancing.” This is where one server distributes incoming traffic among several application servers, sharing the load equally.