웹 어플리테이션을 서비스하는 서버
서버에 어플리케이션(프로그램)을 설치해 놓고 클라이언트가 이용할 수 있게 해준다.
⇒ 업데이트가 용이하다.
웹 브라우저의 요청
→ 요청이 Server(Tomcat)으로 전달
→ Server 내부인 스레드 풀 내부의 여러 스레드들 중 하나가 요청을 담당
→ Service 내부로 요청이 전달됨
→ Service 내부의 Connector에서 요청된 프로토콜에 따라 연결
(예; HTTP1.1)
→ Connector가 요청을 Engine(Catalina)로 전달
→ Engine안에 여러 Host 존재 (보통은 1개임), 요청에 맞는 Host로 이동
→ Host 내부에는 여러 Context(Web Application) 존재, 요청에 맞는 Context로 이동
→ Context 내부에는 여러 Servlet이 존재
Context
≒ Spring Project
Servlet
: 작은 서버 프로그램
→ DispatcherServlet
이 Controller
호출
→ Controller
가 클라이언트의 요청을 수행하고 작업 결과를 클라이언트에게로 돌려준다.