두 개의 이미지와 실제 예시를 통해 클라이언트 요청부터 응답까지의 흐름을 알아보자.
| 이미지1 | 이미지2 | 실제 |
|---|---|---|
| 클라이언트 | Client Browser | Chrome |
| WAS | Main Server + Servlet Container | Apache Tomcat(=경량화된 WAS) |
| 웹 서버 | Main Server | Apache Tomcat의 웹 서버 기능 |
| 서블릿 컨테이너 | Servlet Container | Apache Tomcat의 서블릿 컨테이너 기능 |
| 서블릿 | .class files | 프로젝트 코드의 HttpServlet을 상속받은 Java 클래스 |
| Web Application | 프로젝트(Eclipse에서 작성한 Java 코드, Servlet, JSP 등) |
이미지1 관점 설명
클라이언트는웹 서버에 요청을 보내고,웹 서버는 정적 콘텐츠를 처리하고, 동적 콘텐츠는서블릿 컨테이너와서블릿을 통해 처리되어클라이언트에 응답된다.

이미지2 관점 설명
Client Browser는Main Server에 요청을 보내고,Main Server는 정적 콘텐츠를 처리하고, 동적 콘텐츠는Servlet Container와.class files을 통해 처리되어Client Browser에 응답된다.
실제 관점 설명
Chrome은Apache Tomcat의 웹 서버 기능에 요청을 보내고,Apache Tomcat의 웹 서버 기능은 정적 콘텐츠를 처리하고, 동적 콘텐츠는Apache Tomcat의 서블릿 컨테이너 기능과프로젝트 코드의 HttpServlet을 상속받은 Java 클래스를 통해 처리되어Chrome에 응답된다.
🔗 https://www.geeksforgeeks.org/servlet-flow-of-execution
🔗 Servlet, Tomcat, Apache, Nginx.. 이게 다 뭘까 - 곽유영(네이버페이 기술 블로그)