아파치
- 아파치 소프트웨어 재단의 오픈소스 프로젝트
- 웹서버로 불리며, 클라이언트의 요청이 있을 때에만 응답하는 '정적' 웹페이지에 사용
- 웹서버 = 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)
- 컨테이너, 웹 컨테이너, 서블릿 컨테이너라고 부른다
- JSP, 서블릿처리, HTTP요청 수신 및 응답한다
- 아파치만 쓰면 정적인 웹페이지만 처리하므로 처리속도가 매우 빠르고 안정적이다
- 하지만 톰캣(WAS)를 쓰면 동적인 데이터 처리가 가능하다
- DB연결, 데이터조작, 다른 응용프로그램과 상호 작용이 가능하다.
- 톰캣은 8080포트로 처리한다.
아파치 + 톰캣
- 아파치만 사용하면 정적인 웹페이지 처리
- 톰캣만 사용하면 동적인 웹페이지 처리가 가능하지만, 아파치에서 필요한 기능을 못가져옴. 또한, 여러 사용자가 요청할 시 톰캣에 과부하가 걸림
- 아파치와 톰캣을 같이 쓰면 아파치는 정적 데이터만 처리하고, JSP처리는 Web Container(톰캣의 일부)로 보내주어 분산처리 할 수 있다.
- 아파치(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 |