linugb118--java space

Java

AJP简介

AJP是定向包协议。因为性能原因,使用二进制格式来传输可读性文本。WEB服务器通过TCP连接和SERVLET容器连接。为了减少进程生成socket的花费,WEB服务器和SERVLET容器之间尝试保持持久性的TCP连接,对多个请求/回复循环重用一个连接。一旦连接分配给一个特定的请求,在请求处理循环结束之前不会在分配。换句话说,在连接上,请求不是多元的。这个是连接两端的编码变得容易,虽然这导致在一时刻会有很多连接。 
通常正式的应用都是由apache,nginx来解析http 协议,然后将ajp协议有应用服务器来解析,这样可以大大提高性能。 一旦WEB服务器打开了一个到SERVLET容器的连接,连接处于下面的状态: 
空闲 
这个连接上没有处理的请求。 
已分派 
连接正在处理特定的请求。 
  一旦一个连接被分配给一个特定的请求,在连接上发送的基本请求信息是高度压缩的。在这点,SERVLET容器大概准备开始处理请求,当它处理的时候,它能发回下面的信息给WEB服务器: 
SEND_HEADERS 
发送一组头到浏览器。 
SEND_BODY_CHUNK 
发送一块主体数据到浏览器。 
GET_BODY_CHUNK 
从请求获得下一个数据如果还没有全部传输完,如果请求内容的包长度非常大或者长度不确定,这是非常必要的。例如上载文件。注意这和HTTP的块传输没有关联。 
END_RESPONSE 
结束请求处理循环。 

posted on 2011-10-21 11:03 linugb118 阅读(442) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

My Links

Blog Stats

常用链接

留言簿(1)

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜