Apache JServ Protocol (AJP)

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 lighttpd 1.5, nginx, Grizzly 2.1, and the Internet Information Server.

Both the Apache Tomcat servlet container as well as the Jetty servlet container support AJP.

AJP是定向包协议。因为性能原因,使用二进制格式来传输可读性文本。WEB服务器通过TCP连接和SERVLET容器连接。为了减少进程生成socket的花费,

WEB服务器和SERVLET容器之间尝试保持持久性的TCP连接,对多个请求/回复循环重用一个连接。一旦连接分配给一个特定的请求,在请求处理循环结束

之前不会在分配。换句话说,在连接上,请求不是多元的。这个是连接两端的编码变得容易,虽然这导致在一时刻会有很多连接。

一旦WEB服务器打开了一个到SERVLET容器的连接,连接处于空闲状态或已分派状态

一旦一个连接被分配给一个特定的请求,在连接上发送的基本请求信息是高度压缩的。在这点,SERVLET容器大概准备开始处理请求,当它处理的时候,

它能发回下面的信息给WEB服务器:(1)SEND_HEADERS、(2)SEND_BODY_CHUNK、(3)GET_BODY_CHUNK、(4)END_RESPONSE

ajp协议的设计 http://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html

时间: 2024-10-14 04:56:29

Apache JServ Protocol (AJP)的相关文章

关于 Android 9.0 ClassNotFoundException: Didn't find class "org.apache.http.protocol.BasicHttpContext"

一.案例 --------- beginning of crash 2020-01-07 09:48:43.794 20120-20156/? E/AndroidRuntime: FATAL EXCEPTION: pool-4-thread-1 Process: com.sjylz.sanli, PID: 20120 java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/protocol/BasicHttpC

hive metastore异常 org.apache.thrift.protocol.TProtocolException: Missing version in readMessageBegin, old client

hiveserver2的端口是10000hive.metastoe.uris 的端口9083改为10000之后 beelien 连接hiveserver2报错 Error: Could not open client transport with JDBC Uri: jdbc:hive2://172.16.145.124:10000 hive 用户和密码都没数错,试了好几次还是不能连接 查看hive  metastore的日志,发现有错误信息: 想了想是不是因为metastore和hiveser

Apache 如何反响代理tomcat并且实现Session保持

简介 LAMT=Linux+Apache+MySQL+Tomcat: Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器: 在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选: 架构需求 Tomcat实现JSP动态请求解析的基本架构 说明:由后端Tomcat负责解析动态jsp请求,但为了提高响应性能,在同一主机内配置Apache做反向代理,转发所有请求至tomcat即可: 完整的LNMT架构设计 说明:本篇博客主要讲解单台Hap

Tomcat基础

摘要 一.Tomcat体系结构 二.Tomcat管理 三.httpd反代tomcat 四.tomcat cluster 一.Tomcat体系结构 tomcat应该是java程序员最熟悉的servlet容器了,作为一个用java实现的web应用程序服务器,下图是tomcat的体系结构 一个常见的Tomcat配置文件以下xml结构所示,对应上图的不同组件,每个组件都是个Java Class <Server> <Service> <connector/> <connec

Tomcat基础配置(2)-Tomcat连接器

接上篇博客:http://sohudrgon.blog.51cto.com/3088108/1604989 实验架构图: 实验说明: 1.用户请求到达反向代理服务器,反向代理服务器将用户请求转发到后端tomcat服务器: 2.Proxy反向代理服务器介绍: 包含nginx,httpd服务器和DNS服务器 实现了nginx转发动态内容到达tomcat后端服务器,静态内容在nginx服务器访问: 实现httpd反向代理用户请求到达后端tomcat服务器: 实现基于mod_http_ajp反向代理用户

tomcat(三)--基本安装配置

0x01  JDK和Tomcat安装 到oracle官网下载jdk,当前下载的版本是Linux x64 jdk-8u101-linux-x64.tar.gz 到apache官网下载tomcat,当前最新版本 Tomcat 8.5.4 Released jdk和apache的安装都十分简单(这里不是采用源码编译,就像在windows上使用绿色软件那么方便),将下载的文件解压即可使用,然后引入几个环境变量就算是完成了.tomcat是使用java开发的,所以依赖于jdk.使用下面两个命令可以检测安装后

APACHE安装配置说明

一.软件下载 1.apache:http://archive.apache.org/dist/httpd/httpd-2.2.12.tar.gz或者http://apache.etoak.com/httpd/httpd-2.2.13.tar.gz 二.环境检查 # rpm -qa|grep zlibzlib-devel-1.2.3-3zlib-1.2.3-3# rpm -qa|grep sslopenssl-devel-0.9.8b-10.el5openssl-0.9.8b-10.el5 如果需

Apache 超详细编译参数解析

配置帮助表: -h, --help 显示帮助信息 display this help and exit --help=short 用short参数将只显示正在运行的当前脚本的选项,而不能列出适用于Apache配置脚本所运行的外部配置脚本的选项 display options specific to this package --help=recursive 使用recursive参数将显示所有程序包的简短描述 display the short help of all the included

AJP协议总结与分析

Tomcat服务器通过Connector连接器组件与客户程序建立连接,Connector组件负责接收客户的请求,以及把Tomcat服务器的响应结果发送给客户.默认情况下,Tomcat在server.xml中配置了两种连接器: <!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 --> <Connector port="8080" maxThreads="150" minSpare