zoukankan      html  css  js  c++  java
  • tomcat http协议与ajp协议

    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。

    原文:http://blog.chinaunix.net/uid-20662363-id-3012760.html

  • 相关阅读:
    【数量技术宅|量化投资策略系列分享】股指期货IF分钟波动率统计策略
    【数量技术宅 | Python爬虫系列分享】实时监控股市重大公告的Python爬虫
    0-1背包问题
    活动选择的贪心算法与动态规划
    图的邻接表、拓扑排序、无权最短路径和加权最短路径
    把二叉树转变为左孩子右兄弟树
    基于接缝裁剪的图像压缩 算法导论
    公司聚会
    二叉堆部分练习
    编辑距离问题
  • 原文地址:https://www.cnblogs.com/vaer/p/4334936.html
Copyright © 2011-2022 走看看