본문 바로가기
ETC

WAS & 웹서버(Web Server)

by SICDev 2021. 8. 31.
반응형

아파치 톰캣(Apache Tomcat)❓

 

우리가 알고 있는 아파치 톰캣은 무엇인가??

우리는 아파치 톰캣을 이용해서 웹서버를 띄우고 개발을 진행했을것이다.

그런데, 실제 일을 하게되면 tomcat과 apache를 별도로 실행해서 사용하는 경우가 대다수이다.😱

그렇다면 Apache Tomcat은 두 개의 프로그램을 합쳐놓은 것일가라는 의문이 들수 있기때문에 한번 정리를 해본다👏


Apache란❓

  • Apache란 것은 소프트웨어 단체 이름이다.
  • 우리가 흔히 부르는 아파치서버라는 것은 이 제단에서 후원하는 오픈소스 프로젝트 커뮤니티에서 만든 http웹서버를 지칭하는 말이다.
  • 아파치 HTTP서버는 HTTP요청을 처리하는 웹 서버인 것이다.
  • 클라이언트가 GET, POST, DELETE 등등의 메서드를 이용해 요청을 하면 이 프로그램이 어떤 결과를 돌려주는 기능을 한다.

 

Tomcat이란❓

  • Tomcat은 흔히 WAS(Web Application Server)라고 말한다.
  • WAS는 웹서버와 웹 컨테이너의 결합으로 다양한 기능을 컨테이너에 구현하여 다양한 역할을 수행할 수 있는 서버를 말한다.
  • 클라이언트의 요청이 있을때 내부의 프로그램을 통해 결과를 만들어내고 이것을 다시 클라이언트에 전달해주는 역할을 하는 것이 바로 웹 컨테이너이다.
  • 앞에서 본 아파치 웹서버와 차이는 이 컨테이너 기능이 가능 여부의 차이가 가장 크다고 할 수 있다.

 

Apache와 Tomcat의 차이는❓

그러면 WAS만 쓰면 되지 왜 웹서버를 따로 쓰냐??? 그 이유는 목적이 다르기 때문이다.

  • 웹 서버(Apache)는 정적인 데이터를 처리하는 서버이다. 이미지나 단순 html파일과 같은 리소스를 제공하는 서버는 웹 서버를 통하면 WAS를 이용하는 것보다 빠르고 안정적이다.
  • WAS(Tomcat)은 동적인 데이터를 처리하는 서버이다. DB와 연결되어 데이터를 주고 받거나 프로그램으로 데이터를 조작이 필요한 경우에는 WAS를 활용해야 한다.

 

요청흐름❓

클라이언트가 브라우저에서 요청을 보내면 다음과 같이 웹 서버와 WAS 서버를 거쳐 응답이 돌아오게 된다.

요청(웹 브라우저) -> 웹 서버 -> WAS(동적 처리) -> 웹 서버 -> 응답(웹 브라우저)

 

두 서버의 목적의 차이 때문에 두 개의 서버를 연동해서 사용하면 더욱 효과적인 서비스를 제공할 수 있다❗

사용자 요청은 http 웹 서버(Apache)를 통해 받고, 내부프로그램은 WAS(Tomcat)를 통해 처리하는 식으로 한다면 정적인 데이터와 동적인 데이터를 효과적으로 처리가 가능하다👍

반응형