컴퓨터/기타

WAS - 아파치(Apache)와 톰캣(Apache Tomcat)

달서비 2024. 4. 20. 09:00

이전에 게시글을 올리면서 WAS라는 개념이 전혀 없을 때 사수가 물어봤던 질문 한가지가 생각났었습니다. 아파치와 아파치 톰캣이 같나요? 당시 저는 두 개의 프로그램이 같다고 생각하였습니다. 저와 같이 고민하는 초보 개발자분들을 위해 두 가지 개념을 정리해 보려고 합니다.

 

결론부터 말하면 아파치와 아파치 톰캣은 다릅니다.

tomcat - pixabay

 

WEB Server와 WAS

(좌) - 정적 페이지(Static Pages), (우) - 동적 페이지(DynamicPages)

두 개가 다른 것을 먼저 설명하기 전에 가장 먼저 알아야 하는 개념이 WEB Server와 WAS(Web Application Server)입니다.

Web Server는 정적인 콘텐츠를 제공하고(정적 페이지), WAS는 동적인 데이터를 생성하고 실행하는 역할을 담당합니다. (동적 페이지) 일반적으로 Web Server와 WAS는 같이 사용하여 웹 애플리케이션을 제공합니다. 여기서 Web Server는 클라이언트와의 통신을 관리하고 WAS는 프로그램 내 로직 처리를 담당합니다.

 

각각의 주요 특징은 다음과 같습니다.

 

Web Server

  • 웹 브라우저로부터 HTTP 요청을 받아 정적인 데이터를 제공합니다.
  • 주로 정적 파일 서비스, 프록시 기능, 세션(보안) 등에 사용됩니다.
  • Apache, Nginx등이 자주 사용됩니다.

 

WAS (Web Application Server)

  • 동적인 콘텐츠를 생성하고 실행하는 환경을 제공합니다.
  • 서버 사이드에서 애플리케이션을 실행하고 DB와의 상호작용을 담당합니다.
  • Tomcat,  JBoss, Jeus등이 사용됩니다

 

Apache(아파치)

Apache Logo

먼저 Apache는 정적인 자료를 처리하는 HTTP 웹서버입니다. 해당 서버를 통하여 정적인 콘텐츠를 제공합니다. 거의 모든 운영체제에서 사용할 수 있습니다.

추가로 CGI(Common Gateway Interface)를 이용하여 동적 데이터 생성도 가능합니다.

 

Apache Tomcat(아파치 톰캣)

Apache Tomcat Logo

톰캣은 JSP 파일을 실행하는 데 사용되는 WAS입니다. 자바 서블릿을 실행하고 JSP 코드가 포함된 웹페이지를 만들어 줍니다. 이를 통하여 동적인 페이지를 읽어드려 프로그램을 실행하고 이를  HTML로 재구성하여 서비스를 제공합니다. 독립으로도 사용할 수 있지만 주로 아파치 등 다른 웹서버와 함께 사용홥니다.

 

현장에서는 둘 다 쓴다고 하는데

웹서비스 아키텍처 (3-Tier 서버)

위에 두 가지 개념을 요약하자면 Apache는 정적인 자료를 처리하는 웹 서버이며, Apache Tomcat은 동적인 콘텐츠를 처리하는 WAS 서버입니다. 두 가지를 함께 사용하면 정적 및 동적인 자료를 함께 제공하는 WAS 서버를 구축할 수 있습니다. 이러한 구성은 웹 어플리케이션의 효용성과 확장성을 키울 수 있습니다

마지막으로 위 사진은 일반적으로 웹서버를 구축할 때 사용하는 3-Tier 시스템 구성도를 정리해보았습니다.

 

마지막으로 (ChatGPT)

Apache는 주로 정적인 콘텐츠를 처리하는 웹 서버이며, Apache Tomcat은 동적인 콘텐츠를 처리하는 웹 애플리케이션 서버입니다. 일반적으로 Apache 웹 서버와 Tomcat을 함께 사용하여 정적 및 동적 콘텐츠를 함께 제공하는 웹 애플리케이션을 구축합니다. 이러한 구성을 사용하면 Apache 웹 서버는 웹브라우저의 요청 처리와 정적인 데이터를 처리하고 하고, 필요에 따라 동적 콘텐츠를 Tomcat에 전달하여 처리할 수 있습니다. 이러한 구성은 웹 어플리케이션의 효용성과 확장성을 확대 시킬 수 있습니다.

 

Reference

http://sungbine.github.io/tech/post/2015/02/15/tomcat%EA%B3%BC%20apache%EC%9D%98%20%EC%97%B0%EB%8F%99.html

 

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

평소 tomcat과 apache를 잘 구분하지 못하여 공부한 내용을 정리해 본다. 아파치 톰캣을 이용해서 웹서버를 띄우고 개발을 진행해왔다. 그런데 실제 일을 하면서 서버를 실핼할때 단순히 tomcat만 쓰

sungbine.github.io

 

https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html

 

[Web] Web Server와 WAS의 차이와 웹 서비스 구조 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io