아파치

  • 아파치 소프트웨어 재단의 오픈소스 프로젝트
  • 웹서버로 불리며, 클라이언트의 요청이 있을 때에만 응답하는 '정적' 웹페이지에 사용
    • 웹서버 = 80포트로 클라이언트 요청(POST, GET, DELETE)이 있을 때에만 응답
    • 정적인 데이터 처리 (HTML, CSS, 이미지 등)
  • Apache HTTP Server : https://namu.wiki/w/%EC%95%84%ED%8C%8C%EC%B9%98%20HTTP%20%EC%84%9C%EB%B2%84



톰캣

  • dynamic(동적)인 웹을 만들기 위한 웹 컨테이너, Servlet컨테이너라고 불리며, 웹서버에서 정적을 처리해야 할 데이터를 제외한 JSP, ASP, PHP 등을 웹 컨테이너(톰캣)에게 전달한다.
  • WAS(Web Application Server)
    1. 컨테이너, 웹 컨테이너, 서블릿 컨테이너라고 부른다
    2. JSP, 서블릿처리, HTTP요청 수신 및 응답한다
    3. 아파치만 쓰면 정적인 웹페이지만 처리하므로 처리속도가 매우 빠르고 안정적이다
    4. 하지만 톰캣(WAS)를 쓰면 동적인 데이터 처리가 가능하다
      • DB연결, 데이터조작, 다른 응용프로그램과 상호 작용이 가능하다.
    5. 톰캣은 8080포트로 처리한다.



아파치 + 톰캣

  1. 아파치만 사용하면 정적인 웹페이지 처리
  2. 톰캣만 사용하면 동적인 웹페이지 처리가 가능하지만, 아파치에서 필요한 기능을 못가져옴. 또한, 여러 사용자가 요청할 시 톰캣에 과부하가 걸림
  3. 아파치와 톰캣을 같이 쓰면 아파치는 정적 데이터만 처리하고, JSP처리는 Web Container(톰캣의 일부)로 보내주어 분산처리 할 수 있다.
  4. 아파치(80포트) 톰캣(8080포트)
    • 실제로는 80포트로 다 처리하므로, 8080포트는 아파치가 알아서 보내준다.
    • 8080포트를 다루거나 보려면 리눅스단에서 처리하거나 수동적으로 포트처리 할 때 빼고는 보기 힘듦

정리

  • Apache(아파치_static)

    • 장점 : 처리속도가 빠르다/ 구조가 단순하여 비용절감/ 트래픽 과부화에 강하다.
    • 단점 : 정적인 데이터만 처리가능/ 다른 서비스와 상호작용 불가.
  • Tomcat(톰캣_dynamic)

    • 장점 : 데이터 흐름이 유동적이다/ DB등 여러 서비스가 가능.
    • 단점 : 아파치에 비해 속도가 느리다/ 부가적인 비용이 발생한다/ 트래픽 과부하에 약하다.

'Servlet&JSP' 카테고리의 다른 글

NGINX와 APACHE  (0) 2020.05.19
9.자바 EE를 이용한 Servlet(개인메모)  (0) 2020.05.02
8.Servlet프로그램 만들기  (0) 2020.05.02
7.Servlet Container  (0) 2020.05.01
6.MVC 패턴에 대해서  (0) 2020.05.01

+ Recent posts