AJP13是定向包协议。因为性能原因,使用二进制格式来传输可读性文本。WEB服务器通过 TCP连接和SERVLET容器连接。为了减少进程生成 socket的花费,WEB服务器和SERVLET容器之间尝试保持持久性的TCP连接,对多个请求/回复循环重用一个连接。一旦连接分配给一个特定的请求,在请求处理循环结束之前不会在分配。换句话说,在连接上,请求不是多元的。这个是连接两端的编码变得容易,虽然这导致在一时刻会有很多连接。
一旦WEB服务器打开了一个到SERVLET容器的连接,连接处于下面的状态:
◆ 空闲
这个连接上没有处理的请求。
◆ 已分派
连接正在处理特定的请求。
一旦一个连接被分配给一个特定的请求,在连接上发送的基本请求信息是高度压缩的。在这点,SERVLET容器大概准备开始处理请求,当它处理的时候,它能发回下面的信息给WEB服务器:
◆ SEND_HEADERS
发送一组头到浏览器。
◆ SEND_BODY_CHUNK
发送一块主体数据到浏览器。
◆ GET_BODY_CHUNK
从请求获得下一个数据如果还没有全部传输完,如果请求内容的包长度非常大或者长度不确定,这是非常必要的。例如上载文件。注意这和HTTP的块传输没有关联。
◆ END_RESPONSE
结束请求处理循环。
Tomcat服务器通过Connector连接器组件与客户程序建立连接,Connector组件负责接收客户的请求,以及把Tomcat服务器的响应结果发送给客户。默认情况下,Tomcat在server.xml中配置了两种连接器:
<!-- Define a non-SSL Coyote HTTP/1.1
Connector on port 8080 -->
<Connector port="8080"
maxThreads="150"
minSpareThreads="25"
maxSpareThreads="75"
enableLookups="false"
redirectPort="8443"
acceptCount="100"
debug="0"
connectionTimeout="20000"
disableUploadTimeout="true" />
<!-- Define a Coyote/JK2 AJP 1.3
Connector on port 8009 -->
<Connector port="8009"
enableLookups="false"
redirectPort="8443" debug="0"
protocol="AJP/1.3" />
第一个连接器监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。
第二个连接器监听8009端口,负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时,就需要用到这个连接器。
Web客户访问Tomcat服务器上JSP组件的两种方式如图22-1所示。
图22-1 Web客户访问Tomcat服务器上的JSP组件的两种方式
在图22-1中,
Web客户1直接访问Tomcat服务器上的JSP组件,他访问的 URL为http://localhost:8080 /index.jsp。
Web客户2通过HTTP服务器访问Tomcat服务器上的JSP组件。假定HTTP服务器使用的HTTP端口为默认的80端口,那么Web客户2访问的URL为http://localhost:80/index.jsp 或者 http://localhost/index.jsp。
分享到:
相关推荐
AJP端口默认设置为8009,它允许远程服务器通过AJP协议与Tomcat进行通信。这种通信方式虽然可以实现负载均衡和反向代理,但同时也可能导致以下安全隐患: 1. **中间人攻击(Man-in-the-Middle Attack)**:由于AJP...
2. **AJP协议**:AJP协议允许Web服务器与Tomcat之间的高效通信,减少了HTTP协议带来的额外开销,提升了服务器性能。AJP连接器(Coyote Connector)负责处理AJP请求。 3. **Local File Inclusion(LFI)漏洞**:LFI...
本文将深入探讨AJP13,它是早期版本的AJP协议,以及如何将其与Tomcat和IIS整合。 【描述】:“超智能的tomcat和iis整合工具” 整合Tomcat和IIS可以充分利用它们各自的优势。Tomcat以其高性能和轻量级特性处理Java...
AJP(Apache Jserv Protocol)是Apache与Tomcat之间通信的一种高效协议。通过AJP Proxy,Apache可以将请求转发给后端的多个Tomcat实例,从而实现负载均衡。 **1. 引入模块** - 在`httpd.conf`文件中添加以下内容来...
这会将所有接收到的HTTP请求通过AJP协议转发到本地的Tomcat服务器。 **注意事项** 1. **兼容性**:确保Nginx AJP模块与你的Nginx版本和Tomcat版本兼容。 2. **安全性**:AJP协议可能存在安全风险,因此要确保配置...
AJP协议是一种轻量级的通信协议,主要用于Web服务器和应用服务器之间,能有效降低HTTP协议的开销,提高服务器之间的数据传输效率。 首先,我们需要在Apache服务器上安装`mod_proxy_ajp`模块。这通常涉及到下载...
2. **CVE-2020-1938**:这个漏洞,称为“Tomcat AJP协议路径遍历”,允许攻击者通过AJP(Apache JServ Protocol)连接发送特殊构造的请求,可能导致服务器上的文件被任意读取,或者在某些配置下执行任意代码。...
cmd下确实是可以把Tomcat启动的,所有问题肯定还是出在MyEclipse的配置上面。再次回到MyE,突然回想起以前遇到过Debug mode运行的时候,要是Eclipse中存在有断点的话,就无法正常启动Tomcat
AJP Connector, 基于AJP协议,AJP是专门设计用来为tomcat与http服务器之间通信专门定制的协议,能提供较高的通信速度和效率。如与Apache服务器集成时,采用这个协议。 APR HTTP Connector, 用C实现,通过JNI调用...
mod_jk是Apache的Java连接器,负责通信协议的转换,将请求转发给Tomcat处理,而mod_proxy_ajp则使用AJP(Apache JServ Protocol)协议,同样实现负载均衡和请求转发。这种方式下,Apache主要处理静态资源,而动态...
mod_jk是用于Apache与Tomcat间通信的Apache模块,它通过AJP协议处理请求转发。mod_proxy_ajp则是Apache 2.2及以上版本的内置模块,同样支持AJP协议。这两种模块都允许Apache直接将请求传递给Tomcat,而无需通过HTTP...
python2多线程扫描Tomcat-Ajp协议文件重新定义 刷src分狗的福利poc扩大 poc作者不是本人!!!! 操作 1,将需要扫描的域名/ ip放于ip.txt ip.txt中不需要加协议,某种 127.0.0.1 www.baidu.com www.google.com 2...
如果不希望使用AJP协议,可以选择mod_proxy_http模块,让Apache通过HTTP协议与Tomcat通信。这种方式更适用于Tomcat运行在另一个服务器或者不同端口的情况。 四、配置示例 以mod_proxy为例,配置步骤如下: 1. ...
- **通信协议**:Apache和Tomcat之间通常使用AJP(Apache JServ Protocol)或HTTP/HTTPS协议通信。AJP是一种轻量级的通信协议,适用于内部网络环境,而HTTP/HTTPS更通用,适合互联网环境。 - **负载均衡**:如果有多...
由于AJP协议不直接暴露给最终用户,而是由Web服务器(如Apache)与Tomcat之间进行交互,攻击者可能通过其他途径(如跨站脚本攻击或其他已知漏洞)获取对AJP连接的控制权,从而触发文件包含漏洞。 漏洞复现和分析...
AJP协议允许IIS和Tomcat共享相同的网络端口,通过TCP/IP进行通信。它主要处理静态内容由IIS处理,动态内容由Tomcat处理,这样可以充分利用两者的优点,提高Web应用的整体性能。AJP支持会话持久性,能保持用户会话...
由于tomcat的HTTP处理部分都由Java所写...组装成AJP协议格式的包,然后选取一条空闲的链接,发送给后台的tomcat服务器。等到 后台将数据发送过来时,接收并解析AJP协议,重新组装成HTTP协议,然后把结果发送给 客户端。
- **AJP (Apache JServ Protocol)**:AJP是一种专用的协议,用于Tomcat和前端Web服务器(如Apache HTTP Server)之间通信。它能保持持久连接,提高性能,尤其是在处理静态内容时。AJP主要用于减少HTTP协议的开销,...
JK(即 mod_jk)是最常见的 Apache 与 Tomcat 的连接方式之一,通过 AJP(Apache Jserv Protocol)协议与 Tomcat 通信。AJPConnector 默认监听于端口 8009。 - **JK 的工作原理**:JK 模块作为 Apache 的一个插件,...
1. AJP协议:AJP(Apache JServ Protocol)是一种轻量级的通信协议,主要用于Web服务器(如Apache HTTPD)与应用服务器(如Tomcat)之间的通信。Ajp13Protocol处理AJP请求,提高Web服务器和应用服务器之间的通信效率...