• Tomcat工作原理


    一、apache-tomcat方式:

    配置文件:server.xml

    主要配置项:

    1、Server:

    <Server port="8005" shutdown="SHUTDOWN"> </Server>

    指定8005端口,监听关闭tomcat进行的请求。

    2、 Connector:共两个,定义客户端和服务器之间的连接。获取客户端发起的请求后,转交给Engine处理,然后将回应返回给客户端。

      第一个监听80端口(若只有tomcat,没有apache,此处监听的是8080端口),直接接收来自客户端浏览器的请求。若请求使用了SSL(https),则使用8443端口。

    <Connector port="80" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />

        第二个监听8009端口,接收通过其他WebServer(如apache)转发来的http请求。

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    3、Engine:定义虚拟主机

         Host定义虚拟主机名,appBase定义应用程序存放目录。

    <Host name="localhost"  appBase="webapps"
                unpackWARs="true" autoDeploy="true">

        Engine中可以定义多个Host,当Engine收到http请求时会匹配到一个虚拟主机,由该虚拟主机来处理。如果没有匹配到一个虚拟主机,则将该请求交给默认设置的虚拟主机来处理。

        以上配置时,例如应用程序存放目录为:webapps/hello/index...,则访问url为localhost/hello。

    二、apache-tomcat处理http请求的过程:

    1、客户端直接请求80/8080端口(或者由8009端口接收由apache等其他WebServer转发来的请求),Connector接收客户端请求。

    2、Connector将http请求交给Engine。

    3、Engine收到请求后,匹配到对应的Host,将该请求交给该Host处理。

    4、Host处理请求,并将结果原路返回。

    5、Connector接收到处理的结果后,返回给客户端或其他WebServer。

  • 相关阅读:
    Winform/WPF实例中的相互操作
    如何在WPF中调用Winform控件
    实现页面的GZip或Deflate压缩。
    奇怪的JS 缺少函数问题
    JavaScript可以根据浏览器类别决定是否注册函数?
    readonly与const
    如何读取系统字体、颜色、大小?
    Javascript实现div的toggle效果小记及其它。
    ACCESS SELECT TOP N的问题
    如何将Dictionary绑定到Repeater?
  • 原文地址:https://www.cnblogs.com/ahaii/p/5670422.html
Copyright © 2020-2023  润新知