: 아파치는 WebServer 다. 이것만 기억하면 된다.
그럼 WebServer는 뭔데?
웹서버는 웹 브라우저로부터 HTTP 요청을 받아 정적인 컨텐츠를 전달하며,
간단한 홈페이지 등 정적으로 보여주는 목적인 경우 주로사용한다.
(정적파일 : html, javascript, css, image 물리적인 파일 등)
: 아파치톰캣은 WebServer + Web Container(Servlet Container)
Web Container 가 추가된 것이 아파치 톰캣이다.
동적인 결과가 필요할 때 사용된다. (jsp 등)
웹 컨테이너의 역할
웹서버를 통해 필요한 페이지를 받는다.
Container 가 web.xml(배포서술자=DD)를 참조하여 스레드 생성하여 요청 및 응답 객체를 생성하여 스레드에게
전달 (HttpServletrequest, HttpServletResponse)
스레드 및 응답객체 생성완료 시, Container 는 사용자의 요청에 맞는 Servlet을 호출한다.
스레드가 요청에 따라 doGet(), doPost()를 호출한다.
요청에 의해 생성된, doGet(), doPost() 메소드는 생성된 동적 페이지를 Response에 실어 Container에 전달.
Container는 Response 객체를 HttpResponse 형태로 전환하여 웹서버에게 전달하고 생성된 스레드를 종료,
요청 및 응답 객체를 소멸
: 두가지의 차이점은 위 내용으로 충분히 설명한 것 같다.
그래도 무언가 2%부족한 느낌이라면,
아파치와, 아파치톰캣 두가지 명칭에 대한 혼선일 것 같다.
아파치는 순수 Apache 웹서버만 존재하고,
우리가 말하는 톰캣은 아파치톰캣인 것이다. (Tomcat = Apache Tomcat)
톰캣자체에 아파치 역할을 하는 웹서버가 존재하는것이다.
여기서 또 한가지 의문이 들 것이다.