IT/Cloud

웹서버(Web Server) & WAS(Web Application Server)

FRONTI 2023. 12. 22. 10:57

웹서버(Web Server)와 WAS(Web Application Server)는 웹 기반 서비스를 제공하는 서버로, 기능적인 차이가 있습니다.

웹서버는 클라이언트(일반적으로 웹 브라우저)로부터 HTTP 요청을 받아 정적인 컨텐츠(HTML, CSS, 이미지 파일 등)를 제공합니다. 이를 통해 사용자는 웹 브라우저를 통해 해당 컨텐츠를 조회할 수 있습니다. 대표적인 웹서버로는 Apache, Nginx 등이 있습니다.

하지만 오늘날의 웹 서비스는 단순한 정적 컨텐츠 제공을 넘어서 동적인 처리를 요구하며, 이러한 요구사항을 처리하기 위해 WAS(Web Application Server)가 필요합니다. 

WAS는 웹서버가 할 수 있는 일뿐만 아니라, 웹 어플리케이션과 서버 환경을 연결하는 역할을 합니다. 즉, 클라이언트로부터 동적인 요청(로그인, 글 작성, 데이터 조회 등)을 받으면, 해당 요청을 처리하는 비즈니스 로직을 실행시키고 그 결과를 다시 클라이언트에게 전달합니다. 이를 통해 사용자는 실시간으로 변하는 정보를 웹에서 확인하거나 웹을 통해 데이터를 처리하고 관리할 수 있습니다. 대표적인 WAS로는 Tomcat, JBoss, Weblogic 등이 있습니다.

결론적으로, 웹서버는 주로 정적인 컨텐츠를 제공하고, WAS는 동적인 웹 애플리케이션을 실행하는 역할을 합니다. 한 서버가 웹서버와 WAS 역할을 모두 수행하는 경우도 많습니다.

웹(Web)은 일반적으로 인터넷을 통해 접근하는 정보 또는 서비스를 말합니다. 웹페이지, 웹사이트, 웹 어플리케이션 등등이 여기에 포함됩니다.

웹의 주요 구성 요소는 웹 브라우저(클라이언트)와 웹 서버입니다. 웹 브라우저는 사용자가 웹페이지를 보고 상호작용 할 수 있게 해주는 도구이며, 웹 서버는 사용자의 요청에 따른 웹페이지 정보를 제공하는 역할을 합니다.

WAS (Web Application Server)는 어플리케이션 서버로, 사용자의 요청 중에 프로그램 수행이 필요한 동적인 요청을 처리하는 역할을 합니다. 예를 들어, 로그인 요청, 데이터 검색 요청 등과 같이 단순한 정보 표시를 넘어서 특정 로직이 필요한 경우 WAS가 그 요청을 처리합니다. 

대표적인 WAS로는 Apache Tomcat, Jboss, IBM의 WebSphere, Oracle의 WebLogic 등이 있습니다. WAS는 일반적으로 웹서버와 DB와 함께 동작하면서 중간에서 사용자의 요청에 따른 데이터 처리 등의 역할을 담당합니다.

DB(Database)는 특정 조직의 여러 응용 시스템들이 공유하는 관련 데이터들의 모임입니다. DB는 구조적인 방식으로 데이터를 저장하고 검색, 수정, 삭제 등을 쉽게 할 수 있게 해줍니다. 대표적인 DB로는 Oracle, MySQL, MariaDB, MS SQL 등이 있습니다. 

이들은 웹에서 이루어지는 모든 데이터 관련 활동(예: 계정 정보 조회, 쇼핑 정보 저장 등)의 백본을 제공합니다. WAS와 연동하여 역동적인 데이터 처리를 가능하게 하며, 웹 어플리케이션의 핵심적인 데이터를 안전하게 보관하고 관리합니다.