두 개의 이미지와 실제 예시를 통해 클라이언트 요청부터 응답까지의 흐름을 알아보자.
이미지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.. 이게 다 뭘까 - 곽유영(네이버페이 기술 블로그)