1. 程式人生 > >tomcat的一次請求過程

tomcat的一次請求過程

res 其中 請求 gin 如果 路徑名 con https 默認

Tomcat處理一個HTTP請求的過程
假設來自客戶的請求為: http://tomcat.com/yy/index.jsp

首先 dns 解析tomcat.com機器,一般是ng服務器ip地址
然後 ng根據server的配置,尋找路徑為 yy/的機器列表,ip和端口
最後 選擇其中一臺機器進行訪問—->下面為詳細過程

1) 請求被發送到本機端口8080,被在那裏偵聽的Coyote HTTP/1.1 Connector獲得
2) Connector把該請求交給它所在的Service的Engine來處理,並等待來自Engine的回應
3) Engine獲得請求localhost/yy/index.jsp,匹配它所擁有的所有虛擬主機Host
4) Engine匹配到名為localhost的Host(即使匹配不到也把請求交給該Host處理,因為該Host被定義為該Engine的默認主機)
5) localhost Host獲得請求/yy/index.jsp,匹配它所擁有的所有Context
6) Host匹配到路徑為/yy的Context(如果匹配不到就把該請求交給路徑名為”“的Context去處理)
7) path=”/yy”的Context獲得請求/index.jsp,在它的mapping table中尋找對應的servlet
8) Context匹配到URL PATTERN為*.jsp的servlet,對應於JspServlet類
9) 構造HttpServletRequest對象和HttpServletResponse對象,作為參數調用JspServlet的doGet或doPost方法
10)Context把執行完了之後的HttpServletResponse對象返回給Host
11)Host把HttpServletResponse對象返回給Engine
12)Engine把HttpServletResponse對象返回給Connector
13)Connector把HttpServletResponse對象返回給客戶browser
技術分享圖片

tomcat的一次請求過程