Apache란, 아파치 소프트웨어 재단에서 관리하는 HTTP 웹 서버이다.
Apache는 오픈 소스이기 때문에 누구든지 수정, 재배포가 가능하다.
게다가 Apache는 다양한 기능을 제공하고 다른 웹 서버들에 구축이 쉽다는 이유로 많이 사용되고 있다.
클라이언트가 GET, POST 등의 메소드를 이용해 전송한 요청을 받아 HTML이나 오브젝트를 HTTP 프로토콜을 이용해 클라이언트가 요청한 것을 전송하는 프로그램이다.
웹 서버는 웹 페이지, 이미지 등의 정적인 컨텐트만 제공할 수 있다.
웹 프로그램은 클라이언트 - 서버 컴퓨터 사이의 데이터 교환을 목적으로 하기 때문에 네트워크 통신이 반드시 필요하다.
그러나 웹 프로그램마다 네트워크 통신 기능을 매번 직접 구현하는 것은 힘든 일이기 때문에, 네트워크 통신을 구현하기 위해서 미리 만들어진 프로그램을 사용하는데,
웹 서버와 웹 브라우저가 이에 해당된다.
Tomcat이란 아파치 재단에서 만든 오픈 소스 WAS(Web Application Server)이다.
Tomcat은 Java Servlet과 JSP를 실행할 수 있는 환경을 제공하며 동적인 페이지를 생성한다.
DB 연결 및 데이터 조작, 다른 응용프로그램들과 상호 작용이 가능하다.
WAS란 웹 서버와 웹 컨테이너의 결합으로 이루어진 소프트웨어이다.
웹 서버를 포함하고 있기 때문에 웹 서버처럼 사용할 수도 있다. DB와 연결되어 트랜잭션 처리를 하거나 다른 시스템과 연동 기능 또한 포함하고 있다.
그리고 웹 서버와 달리, 요청에 대해 동적인 페이지를 만들어 유연하게 응답할 수 있다.
웹 서버는 정적인 컨텐트만 제공하기 때문에 클라이언트의 요구에 유연하게 대처할 수 없다.
다양한 클라이언트의 요구에 유연하게 대처하기 위해 DB와 연결해 데이터를 주고 받거나 데이터 조작을 하여 동적인 페이지를 생성해 응답하기 위해 WAS를 사용하고 있다.