아파치 소프트웨어 재단에서 관리하는 HTTP 웹 서버
클라이언트 요청이 왔을 때만 응답하는 정적 웹페이지에 사용
클라이언트의 요청(POST,GET,DELETE)을 받아 HTTP 프로토콜을 이용해 전송하는 프로그램
클라이언트 요청이 왔을 때만 응답
정적인 데이터만 처리(HTML,CSS,이미지 등)
아파치 소프트웨어 재단에서 만든 웹 어플리케이션 서버(WAS)
Java Servlet과 JSP가 실행할 수 있는 환경을 제공하여 동적인 페이지를 생성
→ 웹서버에서 정적으로 처리해야할 데이터를 제외한 JSP, PHP 등은 웹 컨테이너(톰캣)에게 전달
DB 연결 및 데이터 조작, 다른 응용프로그램들과 상호 작용이 가능
동적인 웹을 만들기 위한 컨테이너
웹 컨테이너, 서블릿 컨테이너라고 부름
웹 서버 + 웹 컨테이너 결합으로 이루어진 소프트웨어
→ 웹 서버를 포함하고 있기 때문에 웹 서버처럼 사용할 수도 있다.
아파치 != 톰캣
아파치(Apache) = 웹서버(Web Server)
톰캣(Tomcat) = 와스(WAS)
웹서버(Web Server)
: 정적인 데이터 처리하는 서버.
: 단순 이미지나 html파일과 같은 리소스만을 제공하는 서버는 웹서버만 사용하여 빠르고 안정적이게 활용.
WAS
: 동적인 데이터 처리하는 서버.
: DB로 연결되어 데이터를 주고받거나 자바등을 통해 데이터 조작이 필요한 경우에는 WAS를 활용.
톰캣만 사용
→ 동적인 웹페이지 처리가 가능하지만 아파치에서 필요한 기능을 못가져옴
→ 여러 사용자가 요청할시에 톰캣에 과부하가 걸림
아파치와 톰캣을 같이 사용
→ 아파치는 정적인 데이터만 처리하고, JSP 처리는 Web Container(톰캣의 일부)로 보내주어 분산처리 할 수 있음