Tomcat工作原理
一、apache-tomcat方式:
配置文件:server.xml
主要配置項(xiàng):
1、Server:
<Server port="8005" shutdown="SHUTDOWN"> </Server>指定8005端口,監(jiān)聽關(guān)閉tomcat進(jìn)行的請求。
?
2、 Connector:共兩個(gè),定義客戶端和服務(wù)器之間的連接。獲取客戶端發(fā)起的請求后,轉(zhuǎn)交給Engine處理,然后將回應(yīng)返回給客戶端。
第一個(gè)監(jiān)聽80端口(若只有tomcat,沒有apache,此處監(jiān)聽的是8080端口),直接接收來自客戶端瀏覽器的請求。若請求使用了SSL(https),則使用8443端口。
<Connector port="80" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />? ??第二個(gè)監(jiān)聽8009端口,接收通過其他WebServer(如apache)轉(zhuǎn)發(fā)來的http請求。
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />?
3、Engine:定義虛擬主機(jī)
? ? ?Host定義虛擬主機(jī)名,appBase定義應(yīng)用程序存放目錄。
<Host name="localhost" appBase="webapps"unpackWARs="true" autoDeploy="true">? ? Engine中可以定義多個(gè)Host,當(dāng)Engine收到http請求時(shí)會匹配到一個(gè)虛擬主機(jī),由該虛擬主機(jī)來處理。如果沒有匹配到一個(gè)虛擬主機(jī),則將該請求交給默認(rèn)設(shè)置的虛擬主機(jī)來處理。
? ? 以上配置時(shí),例如應(yīng)用程序存放目錄為:webapps/hello/index...,則訪問url為localhost/hello。
?
二、apache-tomcat處理http請求的過程:
1、客戶端直接請求80/8080端口(或者由8009端口接收由apache等其他WebServer轉(zhuǎn)發(fā)來的請求),Connector接收客戶端請求。
2、Connector將http請求交給Engine。
3、Engine收到請求后,匹配到對應(yīng)的Host,將該請求交給該Host處理。
4、Host處理請求,并將結(jié)果原路返回。
5、Connector接收到處理的結(jié)果后,返回給客戶端或其他WebServer。
轉(zhuǎn)載于:https://www.cnblogs.com/ahaii/p/5670422.html
總結(jié)
以上是生活随笔為你收集整理的Tomcat工作原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1011 数的计算
- 下一篇: 2204 Problem A(水)