Apache

  • 소프트웨어 단체 이름
  • 아파치 서버라는 것은 이 단체에서 후원하는 오픈소스 프로젝트 커뮤니티에서 만든 HTTP 웹 서버를 지칭한다.
  • HTTP 웹 서버
    • 클라이언트의 HTTP 요청을 처리할 수 있는 웹 서버
    • 클라이언트의 요청에 대한 결과(정적 컨텐츠 : HTML, CSS, 이미지 등)를 찾아 응답한다.

Tomcat

  • WAS(Web Application Server)
  • 웹 서버와 웹 컨테이너의 결합으로 다양한 기능을 컨테이너에 구현하여 다양한 역할을 수행할 수 있는 서버
  • DB와 연결되어 데이터를 주고 받거나 프로그램으로 데이터 조작을 처리한다.
  • 웹 컨테이너
    • 웹 서버는 jsp 처리를 못하기 때문에 jsp를 웹 컨테이너에서 서블릿으로 변환, 컴파일하여 서블릿의 결과를 웹 서버에 전달한다.
  • 톰캣도 웹 서버로써의 역할을 할 수 있다.
  • 아파치와 톰캣의 차이는 웹 컨테이너의 유무

WAS

Apache(Web Server)와 Tomcat(WAS)의 차이

  • 웹 서버와 WAS를 연동하여 사용하는 이유는 둘의 목적이 다르기 때문이다.
  • 웹 서버는 정적 컨텐츠를 처리하는 서버이기 때문에 이미지나 HTML 문서와 같은 리소스를 제공할 때 웹 서버를 통하면 WAS를 이용하는 것보다 빠르고 안정적이다.
  • WAS는 동적 컨텐츠를 처리하는 서버이기 때문에 DB와 연결되어 데이터를 주고 받거나 프로그램으로 데이터 조작이 필요한 경우에 사용된다.
  • 이러한 목적의 차이 때문에 두 개의 서버를 연동해서 사용하면 사용자 요청은 HTTP 웹 서버를 통해 받고 내부 프로그램은 WAS를 통해 처리하면 정적 컨텐츠와 동적 컨텐츠를 효과적으로 처리가 가능한 것이다.
  • 웹 서버와 연동하지 않은 상태에서 톰캣에 접속하려면 8080 포트를 통해 접속해야하며, 웹 서버와 톰캣을 연동하면 웹 서버의 표준 포트인 80 포트를 이용해서 접속이 가능하다. (아파치는 80 포트, 톰캣은 8080 포트)

WAS와 웹서버의 차이 – 톰캣과 아파치를 구별하지 못하는 사람을 위해