본문 바로가기
개발지식

아파치와 톰캣 및 WAS와 WebServer

by devLog by Ronnie's 2022. 9. 15.

서버에 관한 공부를 할때 헷갈릴 수 있는 내용인 아파치와 톰캣의 관한 차이점과 웹서버와 와스(WAS)에 대한 차이점을 정리한다.

 

아파치-톰캣-웹서버-와스
아파치 톰캣

아파치와 톰캣 및 WAS와 WebServer

 

아파치(apache) & 톰캣(tomcat)


먼저 아파치란, 웹 서버 중 하나이며, 아파치 소프트웨어 재단에서 관리하는 HTTP WEB SERVER이다. HTTP서버로써 다양한 기능 제공과 더불어 구축이 쉽다는 장점을 가지고 있어 많이 사용한다. 추가적으로 대부분의 중소기업들은 무료로 사용이 가능하여 많이 사용된다.

 

톰캣이란, 아파치 소프트웨어 재단의 WEB APPLICATION SERVER(WAS)이다. 자바 서블릿을 실행 시키며 JSP 코드가 포함되어 있는 웹 페이지를 만들어준다. 즉, 톰캣은 웹 서버에서 넘어온 동적인 페이지를 읽어들여서 프로그램을 실행 후 그 결과를 다시 html로 재구성해 되돌려주는 역할을 한다. 톰캣만으로도 웹서버 역할을 할 수 있기 때문에 톰캣만 독립적으로 사용해도 문제는 없지만 성능 효율을 위해 아파치 또는 IIS등 다른 웹 서버들과 함께 사용을 한다.

 

 

이렇게 각각의 정의만 보고도 둘의 차이점이 웹서버와 WAS로 갈리는 것이 보인다. 그럼 WAS와 웹서버가 어떻게 다른지 좀 더 자세히 알아보자.

 

웹서버(아파치) & 와스(톰캣) 차이점


많은 사람들이 아파치와 톰캣을 서버로 알고 있다보니 같은 것으로 착각하는 경우가 있다. 하지만 위에서 알아보았듯이 아파치 같은 경우는 웹서버이고 톰캣은 웹 어플리케이션 서버로서 그 차이점이 있다.

먼저 웹서버는 HTTP 요청을 처리하는 웹서버 역할을 하는 것을 말한다. 와스는 쉽게 말해 웹서버 역할 + 서블릿 컨테이너의 결합이라고 생각하면 된다. 여기서 중요한 차이점을 컨테이너 기능을 할 수 있는지 없는지 여부이다.

 

 

웹서버는 정적인 데이터를 처리하는 서버로 단순 이미지나 html파일과 같은 리소스만을 제공하는 서버이다. 와스에 경우에도 같은 역할을 할 수 있지만 웹서버에 비해서는 빠르고 안정적이지 못하다.

와스는 웹서버와 달리 동적인 데이터 처리도 가능한 서버이다. 데이터베이스와 연결되어 데이터를 주고 받거나 데이터 조작이 필요한 경우에 사용한다.

 

위에서도 한 번 말했지만 와스인 톰캣만으로도 웹서버 역할을 커버 가능하지만 성능상의 문제 또는 기능 문제 등의 이유로 톰캣만을 사용하지 않는다. 다음글에서는 아파치와 톰캣을 연동해서 사용하는 경우에 대해 알아본다.

 

다음 글

 

추가적으로 서블릿과 디스패쳐서블릿에 대한 개념이 헷갈린다면 다음 글을 참조해주세요.

https://sjparkk-dev1og.tistory.com/185

 

Spring - 서블릿과 디스패쳐서블릿

웹을 만들기 위해서 필요한 기술중에 하나인 서블릿에 대해서 정리하고, 스프링에서의 서블릿과 디스패쳐 서블릿 각각의 정의를 정리하고 차이점을 정리한다. 서블릿과 디스패쳐서블릿 서블

sjparkk-dev1og.tistory.com

 

댓글